0603 python 基础02
作业1:ANSI和utf8的区别?
ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits)。
可以表示的最大字符数是256,一般只用前128个(最高位为0),其中包括了控制字符、数字、大小写字母和其他一些符号。
ANSI:系统预设的标准文字储存格式。ANSI是American National Standards Institute的缩写。
Unicode:世界上所有主要指令文件的联集,包括商业和个人电脑所使用的公用字集。
UTF-8:UTF意为通用字集转换格式(Universal Character Set Transformation Format),UTF-8是Unicode的8位元格式。
一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的 UTF-8。
如果是为了跨平台兼容性,只需要知道,在 Windows 记事本的语境中:
所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码。
所谓的「Unicode」指的是带有 BOM 的小端序 UTF-16。
所谓的「UTF-8」指的是带 BOM 的 UTF-8。
GBK 等遗留编码最麻烦,所以除非你知道自己在干什么否则不要再用了。
UTF-16 理论上其实很好,字节序也标明了,但 UTF-16 毕竟不常用。
UTF-8 本来是兼容性最好的编码但 Windows 偏要加 BOM 于是经常出问题。
所以,跨平台兼容性最好的其实就是不用记事本。
建议用 Notepad++ 等正常的专业文本编辑器保存为不带 BOM 的 UTF-8。
另外,如果文本中所有字符都在 ASCII 范围内,那么其实,记事本保存的所谓的「ANSI」文件,和 ASCII 或无 BOM 的 UTF-8 是一样的。
关于字符集(character set)和编码(encoding),某几篇答案中似乎有些混淆。
对于 ASCII、GB 2312、Big5、GBK、GB 18030 之类的遗留方案来说,基本上一个字符集方案只使用一种编码方案。
比如 ASCII 这部标准本身就直接规定了字符和字符编码的方式,所以既是字符集又是编码方案;而 GB 2312 只是一个区位码形式的字符集标准,不过实际上基本都用 EUC-CN 来编码,所以提及「GB 2312」时也说的是一个字符集和编码连锁的方案;GBK 和 GB 18030 等向后兼容于 GB 2312 的方案也类似。
于是,很多人受这些遗留方案的影响而无法理解字符集和编码的关系。
对于 Unicode,字符集和编码是明确区分的。Unicode/UCS 标准首先是个统一的字符集标准。而 Unicode/UCS 标准同时也定义了几种可选的编码方案,在标准文档中称作「encoding form」,主要包括 UTF-8、UTF-16 和 UTF-32。
所以,对 Unicode 方案来说,同样的基于 Unicode 字符集的文本可以用多种编码来存储、传输。
所以,用「Unicode」来称呼一个编码方案不合适,并且误导。
作者:梁海
链接:https://www.zhihu.com/question/20650946/answer/15745831
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作业2:使用文件格式,读入长和宽,计算长方形的面积和周长
# -*- coding: utf-8 -*-
# D:\python\test.py
length = int(raw_input("Enter length: "))
width = int(raw_input("Enter width: "))
print u"长方形的面积是:", length*width
print u"长方形的周长是:", (length+width)*2
执行结果:
C:\Users\***>python d:\python\test.py
Enter length: 8
Enter width: 5
长方形的面积是: 40
长方形的周长是: 26
复习
>>> str=raw_input("请输入字符:")
请输入字符:今天心情很不错
>>> print str
今天心情很不错
>>> num=int(raw_input("请输入数字:"))
请输入数字:100
>>> print num*99
9900
python 缩进推荐使用2或4个空格,不推荐Tab
控制流--if 语句
>>> a=2
>>> b=1
>>> if a>b:
... print "a比b大"
...
a比b大
>>>
>>> a=1
>>> b=2
>>> if a>b:
... print "a>b"
...
>>> str1='a'
>>> str2='b'
>>> if str1>str2:
... print "str1>str2"
... else:
... print "str1<str2"
...
str1<str2
>>> a=1
>>> b="a"
>>> if a>b:
... print "a>b"
... else:
... print "a<b"
...
a<b
ANSCII
python中没有switch语句
把小明的考试成绩作为输入值,并对其成绩进行判断
>90 打印"小明的成绩是优"
80<grade<90 打印"小明的成绩是良"
# -*- coding: utf-8 -*-
# D:\python\test.py
grade=int(raw_input("Enter xiaoming's grade: "))
if grade>=90:
print u"小明的成绩是优"
elif grade>=80 and grade<90:
print u"小明的成绩是良"
elif grade>=70 and grade<80:
print u"小明的成绩是中"
elif grade>=60 and grade<70:
print u"小明的成绩是及格"
else:
print u"小明的成绩不及格"
执行结果:
C:\Users\***>python d:\python\test.py
Enter xiaoming's grade: 91
小明的成绩是优
C:\Users\***>python d:\python\test.py
Enter xiaoming's grade: 88
小明的成绩是良
C:\Users\***>python d:\python\test.py
Enter xiaoming's grade: 75
小明的成绩是中
C:\Users\***>python d:\python\test.py
Enter xiaoming's grade: 66
小明的成绩是及格
C:\Users\***>python d:\python\test.py
Enter xiaoming's grade: 50
小明的成绩不及格
作业1:输入一个字符作为密码,正确:登录成功;错误,登录失败。
控制流--while 语句
死循环,Ctrl+C 中断
a=2
b=1
while a>=b:
print "a>b"
a=2
b=1
while a>=b: #表达式为 True,执行循环体;否则False,不执行循环体
print "a>b"
a=a-1
print u"当前循环中a的值:",a
执行结果:
C:\Users\***>python d:\python\test.py
a>b
当前循环中a的值: 1
a>b
当前循环中a的值: 0
猜数游戏--只能猜三次
等于:猜对了,退出游戏
大于:猜大了
小于:猜小了
猜错三次退出循环
# -*- coding: utf-8 -*-
# D:\python\test.py
num=25
count=3
while not count == 0:
guess=int(raw_input("Please enter guess: "))
if guess==num:
print u"恭喜你猜对了,游戏结束!"
break
elif guess>num:
print u"输入数字偏大,再猜一次吧"
count -= 1
else:
print u"输入数字偏小,再猜一次吧"
count -= 1
else:
print u"只能猜三次,一次都没有猜对,游戏结束!"
print u"程序执行完毕!"
执行结果:
C:\Users\***>python d:\python\test.py
Please enter guess: 33
输入数字偏大,再猜一次吧
Please enter guess: 22
输入数字偏小,再猜一次吧
Please enter guess: 21
输入数字偏小,再猜一次吧
只能猜三次,游戏结束!
程序执行完毕!
C:\Users\***>python d:\python\test.py
Please enter guess: 33
输入数字偏大,再猜一次吧
Please enter guess: 42
输入数字偏大,再猜一次吧
Please enter guess: 25
恭喜你猜对了,游戏结束!
程序执行完毕!
C:\Users\***>python d:\python\test.py
Please enter guess: 25
恭喜你猜对了,游戏结束!
程序执行完毕!
0603 python 基础02的更多相关文章
- python基础 --02
常见的数据类型 列表 在python中,列表的创建可以是由[]两个方括号组成的.在其他语言中,被称之为数组. 列表里可以存放一组值,并且系统默认的给列表里的每一个元素以索引值,方便查找和使用. 如下: ...
- python基础02 基本数据类型
摘要:简单的数据类型以及赋值 变量不需要声明 python的变量不需要声明,你可以直接输入: >>>a = 10 那么你的内存里就有了一个变量a, 它的值是10,它的类型是integ ...
- python基础02—运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
- Python基础02
6.变量定义的规则: # 变量,只能由 字母 数字 下划线 特例:不能用数字开头 Python关键字,也不能使用 'and', 'as', 'assert', 'break', 'class', 'c ...
- Python 基础02 基本数据类型
简单的数据类型以及赋值 变量不需要声明 Python的变量不需要声明,你可以直接输入: >>> a = 10 那么你的内存里就有了一个变量a,它的值是10,它的类型是 integer ...
- Python基础02 变量
Python中的变量有两个特点: 1. 无需声明 a = 1 2. 不与类型绑定 a = 1 a = 'hello world' 变量名只是内存中具体对象的一个引用(reference). 对于 a ...
- python基础教程
转自:http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html Python快速教程 作者:Vamei 出处:http://www.cn ...
- python基础之02列表/元组/字典/set集合
python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...
- Python基础教程-02
<Python基础教程> 第3章 使用字符串 字符串方法find返回的并非布尔值.如果find像这样返回0,就意味着它在索引0处找到 了指定的子串 join可合并一个字符串列表,不能合并数 ...
随机推荐
- Delphi XE7中新并行库
Delphi XE7中添加了新的并行库,和.NET的Task和Parellel相似度99%. 详细内容能够看以下的文章: http://www.delphifeeds.com/go/s/119574 ...
- Android采用HttpClient下载图片
在上一章中谈到Android采用HttpURLConnection下载图片,本章使用HttpClient下载图片 HttpURLConnection与HttpClient的差别: HttpClient ...
- JavaScript之面向对象学习七(动态原型模式、寄生构造函数模式、稳妥构造函数模式创建自定义类型)
一.动态原型模式 在面向对象学习六中的随笔中,了解到组合构造函数模式和原型模式创建的自定义类型可能最完善的!但是人无完人,代码亦是如此! 有其他oo语言经验的开发人员在看到独立的构造函数和原型时,很可 ...
- <转>ASP.NET学习笔记之在ASP.NET MVC中使用DropDownList
看到一篇关于dropdownlist的用法很好的阐述,比较清楚,留着,防止以后自己不记得,还可以瞅瞅. 在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便 ...
- WinForm中快捷键与组合按键的设置方法
每个窗体都有这样3个事件:KeyDown.KeyPress.KeyUp,KeyDown和KeyPress都是按键按下事件,但KeyDown用的是KeyCode跟键盘各个按键相对应,它对应Keys枚举, ...
- (C++编程规范第17条)避免使用”魔数“
1.摘要: 程序设计并非魔数,所以不要故弄玄虚:要避免在代码中使用诸如42和3.14159这样的文字常量.它们本身没有提供任何说明,并且因为增加了难于检测的重复而使维护更加复杂.可以用符号名称和表达式 ...
- 关于express4不再支持body-parser
express的bodyParser能将表单里的数据格式化,bodyParser原是绑定在express中的,但从express4开始,不在绑定了 如果依然直接使用app.use(express.bo ...
- Mysql 如何做双机热备和负载均衡 (方法二)
先简要介绍一下mysql双向热备:mysql从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式(A->B),互相备份模式(A<=>B)的功能. m ...
- Toast的替代者Snackbar
在Android design support library中,SnackBar的使用: Part 2 – Welcome Snackbar, Goodbye Toast! BY PARESH MA ...
- Hostker云主机
Orz现在我的博客使用Hostker主机了,地址:http://wnjxyk.cn/ 速度一下子快了很多! Hostker真的是很便宜很好用的主机呢!大家可以去试一下! 注册时填写了有效邀请码的新用户 ...