1. 格式化输出
name = input('请输入姓名:') age = int(input('请输入年龄:')) #定义字符串为整数型用int,定义全部交互的数据为整数型 job = input('请输入工作:') hobbie =input('请输入爱好:') msg = ('''------------ info of %s ----------- #后面括号第一个name Name : %s # 第二个name Age : %d # 代表age job : %s # 代表job Hobbie: %s # 代表hobbie ------------- end -----------------''') % (name, name, age, job, hobbie) # %把上面的
占位符与括号内的变量一一对应起来 print(msg)
以上 %是占位符 s是字符串
%s 代表字符串占位符 %d代表数字占位符
注:如果占位符使用 %d 时,此时变量age 必须输入数字,否则报错
请输入年龄:wdwa 请输入工作:wda 请输入爱好:wda Traceback (most recent call last): File "D:/pycharmprojects/day 2/day 2 练习.py", line 6, in <module> msg = ('''------------ info of %s ----------- #后面括号第一个name TypeError: %d format: a number is required, not str
解决方法如上,将变量 age的交互输入定义为整数型 :age = int(input('请输入年龄:'))
如果要在输出结果中打印出%这个特殊字符则用如下操作
progress = int(input("请输入进度 :")) msg = "学习进度: %d %% " % (progress) print(msg)
%% 前一个为转译,后面则是正常的%
2. while循环
while 条件:
循环体
#如果条件为真,则循环执行
#如果条件为假,则循环不执行
while True: print('1') print('2')
1.终止循环的第一个方法:改变条件
count = 1 while count < 101: print(count) count +=1
上列为输出1-100所有数字,上列 count<101 即为while条件,count从1开始一直自加到 一百,当自加到101时,由于不满足条件,则跳出循环
count = 1 sum = 0 while count < 101: sum += count #sum = sum + count count +=1 print(sum)
1-100自加,
思路:你要想从1+2+3......+100一直加到100,那么最起码你得有一个自变量,比如 count,这个count每次循环都会自加1,除了这个之外,你还有有一个变量,让这个变量 一直去加这个count,这个基础变量还不能影响最终的结果,所以这个基础变量初始值为 0,按照这个思路写一下。
2.终止循环第二种方式:break
while True: print('1') print('2') break print('3') print('4')
D:工作用软件Pythonpython.exe "D:/pycharmprojects/day 2/day 2 练习.py" 1 2 4 Process finished with exit code 0
上列说明,在循环中只要遇到break, 马上退出循环
3.终止循环的第三种方式:continue
while True: print('1') print('2') continue print('3') print('4')
上述代码会持续输出1212121212........,continue 意为终止本次循环继续下次循环 while下的语句为一次循环, 遇见continue即往上折返。不会执行3 4不属于white循环语 句。
count = 1 while count < 10: count +=1 if count == 7: continue print(count)
输出1234568910,跳过连续数字中间某一个值,当count值为7的时候,终止本次循 环,7不被打印,进入下次循环,打印8.进入下个循环.....
count = 0 while count <= 100: count += 1 if 1 <= count <= 5: print(count) continue if 95 <= count <= 100: print(count)
输出1-5 95-100 利用continue 跳出一次循环,进行下次循环
while else
count = 0 while count < 4: count +=1 if count ==3:break print(count) else: print('跳出') print('...........................................') count = 0 while count < 4: count +=1 if count ==3:pass #pass 跳过 print(count) else: print('跳出')
1 2 .................... 1 2 3 4 跳出
遇到break的时候跳出循环,while没有正常完成,不执行else
pass是跳过,循环正常完成,执行else
3. 基本运算符
算数运算:** 幂次方, // 返回商的整除部分,% 取余
比较运算:!= 不等于, == 赋值
逻辑运算:
1. 运算优先级:() > not > and > or 同一优先级从左往右
print(3>4 or 4<3 and 1==1)#F print(1 < 2 and 3 < 4 or 1>2 )#T print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)#T print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)#F print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)#F print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)#F
ps int----->bool 非零 True 零 False
#PS int ----> bool 非零转换成bool True 0 为False print(bool(2)) print(bool(0)) #bool ---->int print(int(True)) #1 print(int(False)) #0
2. x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
# x or y x True 则返回x print(1 or 2)#1 print(3 or 2)#3 print(0 or 2)#2 print(0 or 20)#20 # x and y x True 则返回y print(1 and 2)#2 print(0 and 2)#0
python运算符优先级:
4. 初始编码
ASCII :1个字节 八个bit 2**8=128 最开始只有7位,为了后期扩展增加了一位。0
utf-8 : 3个字节 24个bit 2**24 中文9万多 够用了
8bit = 1byte 1024byte = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB 1024TB = 1EB 1024EB = 1ZB 1024ZB = 1YB 1024YB = 1NB 1024NB = 1DB 常⽤到TB就够了