周六,雨,记录生活分享点滴
参考博客:https://www.cnblogs.com/yuanchenqi/articles/5782764.html
Python版本:3.5
字符格式化输出
name = input ("Name:") age = int(input ("Age:")) job = input ("Job:") salary = input ("Salary:") if salary.isdigit(): #长得像不像数字,比如200d、‘200’ salary = int(salary) # else: # #print() #将"must input digit"放在exit中可以减少一行代码 # exit("must input digit") #退出程序 msg = ''' ----info of %s---- Name: %s Age: %d Job: %s Salary: %f You will be retired in %s years ----end---- ''' % (name,name,age,job,salary,65-age) print(msg)
小结:
- 占位符 %s (s=string字符串)、%d (d = digit 整数)、%f (f = float 浮点数,约等于小数)
- 在占位符运用后,需要对占位符的输出进行表达,即 % (name,name,age,job,salary,65-age)
- 3个引号 打印多行
- 字符串 salary.isdigit() 世界万物,皆为对象,一切对象皆可分类
- 针对输入结果特定的要求,以是否为数字展开
循环
- 有限循环,有次数限制
- 无限循环=死循环
- continue 结束本次循环,继续下一次循环
- break 跳出整个当前的循环
for循环
基本逻辑
第一种表示方法
for i in range(1,101): if i % 2==1: print("loop:",i)
第二种表示方法(优化版)
for i in range(1,101,2): #2 指步长 print("loop:",i)
小结:
- i 为变量
- range表示循环的范围
- 第一种:运用余数为1的办法得出100范围内所有的奇数
- 第二种:在range内添加步长2,从1开始计算,每增加2便是另一个奇数
for循环-login登陆框
_user = "chung" _passwd = "abc123" passed_authentication=False #假,不成立 #flag = 标志位 for i in range (3): username = input("Username:") password = input("Password:") if username == _user and password == _passwd: passed_authentication = True #真,成立 print ("Welcome %s login ..." % _user) break #跳出,中断 else: print("Invalid username or password!") if not passed_authentication: #只有在True的情况下,条件成立 print("对不起,您的输入次数已用完。")
小结:
- range(3)表示循环三次
- 通过判断 passed_authentication 是否成立来决定最后结果的输出,即最后一个 print
- *通过循环三次结束后,如果还是输入用户名和密码不正确,即 passed_authentication 不等于 True ,跳转到最后一个 if ,最后一个 if 的运行条件是需要 passed_authentication 等于 True,所以添加 not 。
for循环-login-pro版本
_user = "chung" _passwd = "abc123" for i in range (3): username = input("Username:") password = input("Password:") if username == _user and password == _passwd: print ("Welcome %s login ..." % _user) break #跳出,中断 #break for 过后,就不会执行最后面的else语句 else: print("Invalid username or password!") else: #只要上面的for循环正常执行完毕,中间没被打断,就会执行else语句 print("对不起,您的输入次数已用完。")
while循环
while循环-login
_user = "chung" _passwd = "abc123" counter = 0 while counter < 3: #当while后面的条件成立(True),才会执行它下面的代码 username = input("Username:") password = input("Password:") if username == _user and password == _passwd: print ("Welcome %s login ..." % _user) break else: print("Invalid username or password!") counter += 1 else: print("对不起,您的输入次数已用完。")
小结:通过计数的方式 (counter)来规定运行的次数
while循环-login-pro版本
_user = "chung" _passwd = "abc123" counter = 0 while counter < 3: #当while后面的条件成立(True),才会执行它下面的代码 username = input("Username:") password = input("Password:") if username == _user and password == _passwd: print ("Welcome %s login ..." % _user) break else: print("Invalid username or password!") counter += 1 if counter == 3: keep_going_choic = input("要继续吗?[y/n]") if keep_going_choic == "y": counter = 0 else: print("对不起,您的输入次数已用完。")
小结:增加用户在输入三次结束后可以对是否继续输入进行选择
标识位
exit_flag = False for i in range(10): if i < 5: continue print(i) for j in range (10): print ("layer2",j) if j == 6: exit_flag = True break if exit_flag: #当exit_flag = True时,则break退出 break
小结:3-2)运用此原理
列表-增删改查
索引(下标),都是从0开始
注意:空格也代表一个索引位置
name0 = 'dog' name1 = 'cat' name2 = 'fish' name3 = 'duck' name4 = 'pig' name5 = 'lion'
查:切片
a=['dog','cat','fish','duck','pig','lion'] print(a[1:])#取到最后 #['cat', 'fish', 'duck', 'pig', 'lion'] print(a[1:-1])#取到倒数第二个值 #['cat', 'fish', 'duck', 'pig'] print(a[1:-2:1])#从左到右一个一个去取 #['cat', 'fish', 'duck'] print(a[1::2])#从左到右隔一个去取 #['cat', 'duck', 'lion'] print(a[3::-1])#从右到左一个一个去取 #['duck', 'fish', 'cat', 'dog'] b=a[3::-1] print(b)#['duck', 'fish', 'cat', 'dog'] print(a[-2::-1])#['pig', 'duck', 'fish', 'cat', 'dog']
增:append insert
a=['dog','cat','fish','duck','pig','lion'] a.append('boy') #默认插到最后一个位置 print(a) a.insert(1,'boy') #将数据插入到任意一个位置 print(a)
改
a=['dog','cat','fish','duck','pig','lion'] a[1] = 'girl' print(a) #['dog', 'girl', 'fish', 'duck', 'pig', 'lion'] a[1:3] = ['a','b'] print(a) #['dog', 'a', 'b', 'duck', 'pig', 'lion']
删 remove pop del
a=['dog','cat','fish','duck','pig','lion'] a.remove(a[0])#remove删除一个整体、固定的值 print(a) b=a.pop(1) #pop删除索引,会反馈所删掉的值,如果不指定默认会删除最后一个 print(a) print(b) del a[0] #del a 指删除a的所有 #del既可以删除某一个固定的内容,还可以把一个对象删掉 print(a)
列表内置方法
count:计算某元素出现次数
t=['to','be','or','not','to','be'].count('to') print(t) #2
extend 规定一组数据插入到另一组数据中
a = [1,2,3] b = [4,5,6] a.extend(b) print(a) #[1, 2, 3, 4, 5, 6] print(b) #[4, 5, 6]
index 根据内容找位置
a=['dog','cat','fish','duck','pig','lion'] print(a.index('duck')) #3
reverse 将元素原始顺序变成倒序
a=['dog','cat','fish','duck','pig','lion'] a.reverse() print(a) #['lion', 'pig', 'duck', 'fish', 'cat', 'dog']
sort 由乱序变顺序
x = [4,6,2,1,7,9] x.sort() #当前是从小到大,如果想从大到小排序,输入x.sort(reverse=True) print(x) #[1, 2, 4, 6, 7, 9] #[9, 7, 6, 4, 2, 1] a=['dog','cat','Fish','Duck','pig','lion'] a.sort() print(a) #['Duck', 'Fish', 'cat', 'dog', 'lion', 'pig']