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
恭喜你猜对了,游戏结束!
程序执行完毕!

时间: 2024-10-07 12:36:37

0603 python 基础02的相关文章

python 基础 -02 运算符和编码

一 格式化输出  %s就是代表字符串占位符,除此之外,还有%d, 是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字, 这时对应的数据必须是int类型. 否则程序会报错 使用时,需要进行类型转换. int(str) # 字符串转换成int str(int) # int转换成字符串 现在又来了新问题 . 如果想输出: 我叫xxx, 今年xx岁了,我们已经学习了2%的python基础了 在字符串中如果使用%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成占位符

python基础-02

常见的数据类型 列表 在python中,列表的创建可以是由[]两个方括号组成的.在其他语言中,被称之为数组. 列表里可以存放一组值,并且系统默认的给列表里的每一个元素以索引值,方便查找和使用. 如下: #创建一个列表,并且保存一定的数据 user_list = ['刘德华','张学友','张靓颖','郭富城','李白'] print(user_list) #['刘德华', '张学友', '张靓颖', '郭富城', '李白'] #根据索引值来读取数据 print(user_list[0])#刘德华

python基础02 基本数据类型

作者:徐佳 欢迎转载,也请保留这段声明.谢谢! 摘要:简单的数据类型以及赋值 变量不需要声明 python的变量不需要声明,你可以直接输入: >>>a = 10 那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数). 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的. >>>print (a) >>>print (type(a)) 那么会有如下输出: 10 <class 'int'> 这里,

Python 基础02 基本数据类型

简单的数据类型以及赋值 变量不需要声明 Python的变量不需要声明,你可以直接输入: >>> a = 10 那么你的内存里就有了一个变量a,它的值是10,它的类型是 integer(整数).在此之前你不需要做什么特别的声明, 而数据类型是Python自动决定的. >>>print(a) >>>print(type (a)) 那么会有如下输出: 10 <class 'int'> 这里,我们学到一个内置函数type(),用以查询变量的类型.

python基础02—运算符与流程控制

运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 复合运算 +=.-=.=./=.//=.%=.*= 关系运算(比较运算) >.>=.<.<=.==.!= 由操作数和运算符组成的式子称为表达式 关系表达式是有值的(布尔值),符合数学逻辑值为True,不符合数学逻辑值为False 逻辑运算 与(and):两边的表达式同时为真,值才为真

python基础02

分享学习思路: 1.xxx是什么? 敲门:提取知识点名词中的关键字来加以解释 2.为什么要有它? 大前提: python中语言中出现的所有的语法都是为了让计算机能够具备人的某一功能/像人一样去做xxx 3.如何使用xxx? 变量与基本数据类型(全为重点) 变量 一.什么是变量? 变量就是可以变化的量,量指的是事物的状态,比如人的年龄.性别,游戏角色的等级.金钱等等 二.为什么要有变量? 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的 详细地说: 程序执行的本质就是一系列状

python 基础 02

1. 字符串操作 主要说说内建函数. 字符串类型,就像列表一样,可以进行切片,排序等等操作. 但是这里就专门说内建函数哦. '''@Author: Fallen@Date: 2020-04-03 10:30:20@LastEditTime: 2020-04-03 15:33:44@LastEditors: Please set LastEditors@Description: 字符串内建函数@FilePath: \day02\字符串内建函数.py'''?l = "abcdif geheEdjfo

Python数据分析——基础02

Python数据分析--基础02 元组(tuple) 元组是一个固定长度,不可改变的序列对象. 创建元组 用逗号分隔一列值 tup = 1,2,3 # (1, 2, 3) 用圆括号 tup = (1,2,3), (4,5,6,7) # ((1, 2, 3), (4, 5, 6, 7)) 使用tuple()可以将任意序列或迭代器转换成元组 tuple([1,2,3,4]) # (1, 2, 3, 4) tuple('string') # ('s', 't', 'r', 'i', 'n', 'g')

Python基础知识梳理 - 第02部分

本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等. Python还提供了若干处理数字对象的工具, 如内置数学函数pow, abs等, 标准库math, random等. 看下数字的简单使用. In [15]: 123 + 234 Out[15]: 357 In [16]: 1.5 * 4 Out[16]: 6.0 In [32]: pow(2,