python基础学习day2
重点1:格式化输出
想要在格式化输出中表示单纯的% 那么就加一个百分号 百分号是转义 一个百分号
%s(str) 是字符串
%d(digit) 是数字
在文本框后面 加上% ( 需要替换的内容 ) 有几个占位符 就需要有几个变量 缺一不可!
重点2:while else
当while 正常执行完毕 被break 打断就不会执行else
没有被break打断 那么就会执行else 里面的语句
重点3:编码初识
ascii
最早的'密码本' ascii 涵盖了英文字母大小写,特殊字符,数字/
01010101
ascii 只能表示256种可能 太少,
创办为万国码 unicode
最初 16表示一个字符, 不够 2**16 65535
后面 32表示一个字符,绝对够2**32 4294967296
Uncode 升级 utf-8 utf-16 utf-32
utf-8 一个字符最少用8位去表示,英文用8位
欧洲的文字用16位去表示
中文用24位去表示
utf-16 一个字符最少用16位去表示
utf-32 一个汉子最少勇32位去表示
gbk 中国人自己发明的,一个中文用两个字节,16位去表示.
周末作业:
作业1\
# 1、判断下列逻辑语句的True,False. ''' 1、 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 F or True or F = True 2、not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 F or F or F = False 3、1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4 > 6 or 3 < 2 F or F or F or F = False
作业2
2、求出下列逻辑语句的值。 1),8 or 3 and 4 or 2 and 0 or 9 and 7 8 or (3 and 4) or (2 and 0) or (9 and 7) 8 or 4 or 0 or 7 答案: 8 2),0 or 2 and 3 and 4 or 6 and 0 or 3 0 or ((2 and 3) and 4) or (6 and 0) or 3 0 or (3 and 4) or (0) or 3 0 or 4 or 0 or 3 答案:4 3),(5 and 9 )or (10 and 2) or (3 and 5) or 4 or 5 9 or 2 or 5 or 4 or 5 答案:9
作业3
3、下列结果是什么? 1)、6 or 2 > 1 答案:6 2)、3 or 2 > 1 答案:3 3)、0 or 5 < 4 答案:False 4)、5 < 4 or 3 答案:3 5)、2 > 1 or 6 答案:True 6)、3 and 2 > 1 答案:True 7)、0 and 3 > 1 答案:0 8)、2 > 1 and 3 答案:3 9)、3 > 1 and 0 答案:0 10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 (3 > 1 and 2) or ((2 < 3 and 3) and 4) or 3 > 2 2 or 4 or True 答案:2
作业4
4. 简述变量命名规范 字母 数字 "_" 的任意组合 1、不能以数字开头 2、变量名 要有意义 3、全部大写则默认为常量(默认的约定) 4、不能以中文命名(默认的约定) 5、不能命名内置函数
作业5
5. name = input(“>>>”) name变量是什么数据类型?
name 的变量 是 str属性的
因为input的里面的都是 文本 类型
作业6
6. if条件语句的基本结构? 1、 if 条件: tab换行 结果 else: tab换行 结果 2、 if 条件: tab换行 结果 elif 条件: tab换行 结果 else:#可写可不写 tab换行 结果 3、 if 条件: tab换行 结果 4. if 条件: tab换行if 条件: tab换行 tab换行 结果
作业7
7. while循环语句基本结构? while 表达式或者bool值: 条件为真一直循环 当改变条件或者bool值为False的时候则结束循环 break 当执行到 立即跳出循环 continue 结束当前循环从新开始下一循环 pass 当执行到pass的时候忽略当前操作 继续循环内容的执行
作业8
8. 写代码:计算 1 - 2 + 3 ... + 99 中除了88意外所有数的总和?
算式1/ 当 - 89 + 90 - 91 + 92 - 93 + 94 - 95 + 96 - 97 + 98 - 99
count = 1 #计数
sum = 1 #初始值
flag = True #一个布尔类型变量方便切换
while count <99:
count += 1
if flag:
if count == 88: #当等于88的时候
continue #回上面! 因为flag还是True 所以继续相减
sum = sum - count # 初始值- 计数 目前= 2
flag = False #跳到下面 开始相加
else:
sum = sum + count
flag = True # 跳到上面 开始相减
print(sum) #输出
算式2/ 当 + 89 - 90 + 91 - 92 + 93 - 94 + 95 - 96 + 97 - 98 + 99
count = 1 #计数
sum = 1 #初始值
flag = True #一个布尔类型变量方便切换
while count <99:
count += 1
if flag: #相减运算
if count == 88: #当等于88的时候
flag = False #回上面! 因为flag还是True 所以继续相加
continue
sum = sum - count # 初始值- 计数 目前= 2
flag = False #跳到下面 开始相加
else: #相加运算
sum = sum + count
flag = True # 跳到上面 开始相减
print(sum) #输出
作业9
9. ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
username = "yangxiaoer"
password = "123456"
i = 3
while i > 0:
zh = input("请输入你的账号:")
i -= 1
if zh == username:
mm = input("请输入你的密码:")
if mm == password:
print("验证成功.正在登陆......")
print('''恭喜你登陆成功!
欢迎用户进入
用户名 :%s
密码 :%s
'''%(zh,mm))
break
else:
if i == 0:
print("你的机会已经没了!game over 下次见!")
print("密码错误,请重新输入")
print("你还有"+str(i)+"次机会")
else:
print("请输入正确的用户名!")
if i == 0:
print("你的机会已经没了!game over 下次见!")
print("你还有" + str(i) + "次机会")
作业10
10. 简述ascii、unicode、utf-8编码关系?
ascii码 是最早的编码方式 只认英文和字符 每个是8位 等于一个字节
unicode 万国码 一开始是16位 但是因为不能涵盖所有国家的文字和字符
然后升级到了32 位 当然这个时候是可以涵盖所有国家的文字和字符 但是太浪费存储资源了,所以后面升级到了
UTF格式, 分别位 8 位 16位 24位 32位
UTF-8 格式是遇到英文是8位 2**8
遇到欧洲文字是16位 2**16
遇到中文是24位 2**24
作业11
11. 简述位和字节的关系?
1GB=1024mb=1024 1mb=1024kb 1kb=1024Bytes 1bytes = 8bit
作业12
12. “⽼男孩”使⽤UTF-8编码占⽤⼏个字节?使⽤GBK编码占⼏个字节?
实用UTF8-8是占了 3个字节 使用 GBK编码占2个字节
9 6
作业13
13. 制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲
xxx
name = input("请输入你的名字:")
didian = input("你现在在哪里:")
aihao = input("你的爱好是什么:")
msg = ''' %s 的个人信息档案:
可爱的%s ,最喜欢在%s干%s
'''%(name,name,didian,aihao)
print(msg)
作业14
14. 等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在
敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏
感字符:“⼩粉嫩”、“⼤铁锤”
mingan1 ="小粉嫩"
mingan2 ="大铁锤"
while True:
temp = input("请输入一个你喜欢的一段话:")
if temp != mingan1 and temp != mingan2:
print("好的")
print(temp)
break
else:
print("存在敏感字符请重新输⼊")
作业15
15. 单⾏注释以及多⾏注释?
单行注释 开头加#
多行注释 三对单引号''' '''
或者三对双引号""" """
作业16
16. 简述你所知道的Python3和Python2的区别?
python2 不能用中文名变量 python2 默认的编码格式是 ascii
python3 可以用中文命变量 但是不推荐 很low python 3 的默认编码格式是uft-8 支持中文
作业17
17. 看代码书写结果:
a = 1>2 or 4<7 and 8 == 8
print(a)
a = 1>2 or (4<7 and 8 == 8 )
False or (True and True)
false or True
答案 a = True
作业18
18.continue和break区别?
continue 是跳出本次循环并且回复循环首
break 是直接跳出循环
作业19
19.看代码书写结果: a= 12&127
print(a)
a = 127
'''