Flask接口签名sign原理与实例代码浅析
241
2022-09-01
三、运算符、格式化输出、流程控制语句。
一、运算符
1.1:算术运算
a=10
b=20
1.2:逻辑运算
1.2.1:优先级
在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
判断下列逻辑语句的True,False。
3>4 or 4<3 and 1==11 < 2 and 3 < 4 or 1>2 2 > 1 and 3 < 4 or 4 > 5 and 2 < 11 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 81 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
1.2.2:and 和 or
表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有and表达式,直到有or出现,输出and左侧表达式到or的左侧,参与接下来的逻辑运算。若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。
x or y :x为真,值就是x,x为假,值是y;x and y:x为真,值是y,x为假,值是x;
求出下列逻辑语句的值。
8 or 40 and 30 or 4 and 3 or 7 or 9 and 6
1.2.3:in和not in
判断子元素是否在原字符串(字典,列表,集合)中:
print('喜欢' in 'dkfljadklf喜欢hfjdkas')print('a' in 'bcvd')print('y' not in 'ofkjdslaf')
1.2.4:例子
a = 10b = 20 if ( a and b ): print ("1 - 变量 a 和 b 都为 true")else: print ("1 - 变量 a 和 b 有一个不为 true") if ( a or b ): print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")else: print ("2 - 变量 a 和 b 都不为 true") # 修改变量 a 的值a = 0if ( a and b ): print ("3 - 变量 a 和 b 都为 true")else: print ("3 - 变量 a 和 b 有一个不为 true") if ( a or b ): print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")else: print ("4 - 变量 a 和 b 都不为 true") if not( a and b ): print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")else: print ("5 - 变量 a 和 b 都为 true")#以上实例输出结果:1 - 变量 a 和 b 都为 true2 - 变量 a 和 b 都为 true,或其中一个变量为 true3 - 变量 a 和 b 有一个不为 true4 - 变量 a 和 b 都为 true,或其中一个变量为 true5 - 变量 a 和 b 都为 false,或其中一个变量为 false
1.3:比较运算
1.4:赋值运算
二、if条件语句
2.1:语法
格式一:
if 条件:成功之后走这里
格式二:
if 条件:成功之后走这里else:失败之后走这里
格式三:
if 条件:成功之后走这里elif 条件:成功之后走这里elif 条件:成功之后走这里else:上述都失败
2.2:例子
#模拟10086查话费
1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 4 msg = """ 5 欢迎致电10086 6 1. 查询话费 7 2. 查水表 8 3. 人工服务 9 """10 11 print(msg)12 13 choice = input('请选择您需要服务')14 if choice == "1":15 print("1.查询本机;2.查询他人手机;3.查询座机")16 search_type = input('请输入要查询的类型:')17 if search_type == '1':18 print('查询本机')19 elif search_type == '2':20 print('查询他人手机')21 elif search_type == '3':22 print('查询座机')23 else:24 print('查询类型输入错误')25 elif choice == "2":26 print("查水表")27 elif choice == "3":28 print("人工服务")29 else:30 print("输入错误")
三、while循环语句
3.1:语法
while 条件:条件成立执行
3.2:例子
例1:
while True:print('钓鱼要钓刀鱼,刀鱼要到岛上钓')
例2:
while 1==1 and 2==2:print('钓鱼要钓刀鱼,刀鱼要到岛上钓')
例3:
timer = 0while timer < 3:print('钓鱼要钓刀鱼,刀鱼要到岛上钓')timer = timer + 1print('完成')
例4:打印1-100内所有奇数
1 #给start赋值等于1,while真,循环开始,temp的赋值等于start和2的余数,如果temp等于0(则余数等于0,start为奇数,否则为偶数)打印start,否则pass,什么都不执行,start的赋值等于start加1,直到赋值等于100时,while条件为False,循环不再成立!,打印偶数同理! 2 3 #!/user/bin/env python 4 # -*- coding:utf-8 -*- 5 6 print("以下是1-100内所有的奇数:") 7 start = 1 8 while start < 101: 9 temp = start % 210 if temp == 0:11 pass12 else:13 print(start)14 start = start + 1
例5:打印1-100内所有偶数
1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 4 print("以下是1-100内所有的偶数:") 5 start = 1 6 while start < 101: 7 temp = start % 2 8 if temp == 1: 9 pass10 else:11 print(start)12 start = start + 1
四、for循环语句
4.1:语法
4.2:例子
例1:
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 for letter in 'Python': 5 print ("当前字母 :", letter) 6 7 #输出结果为: 8 当前字母 : P 9 当前字母 : y10 当前字母 : t11 当前字母 : h12 当前字母 : o13 当前字母 : n
例2:
1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 fruits = ['banana', 'apple', 'mango'] 4 for fruit in fruits: 5 print '当前水果 :', fruit 6 7 print "Good bye!" 8 9 #输出结果为:10 当前水果 : banana11 当前水果 : apple12 当前水果 : mango13 Good bye!
例3:
模拟用户登录三次机会
1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 4 user_list = [ 5 {'username': 'alex', 'password': '123'}, 6 {'username': 'eric', 'password': '123'}, 7 {'username': 'tony', 'password': '123'}, 8 {'username': 'jack', 'password': '123'}, 9 ]10 11 i = 012 flag = False13 while i < 3:14 user = input("请输入用户名:")15 pwd = input("请输入密码:")16 17 for item in user_list:18 if item['username'] == user and item['password'] == pwd:19 flag = True20 break21 else:22 pass23 24 if flag:25 print("登录成功")26 break27 else:28 print("登录失败")29 i = i + 1
例4:
计算1-2+3-4+5 ... 99的所有数的和
#!/user/bin/env python# -*- coding:utf-8 -*-print("以下是1-2+3-4+5 ... 99的所有数的和")num = 0for i in range(1,100): if i % 2 == 0: num = num - i else: num = num + iprint(num)
五、格式化输出
现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Alex Li -----------Name : Alex LiAge : 22job : TeacherHobbie: girl------------- end -----------------
只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好;
name = input("Name:")age = input("Age:")job = input("Job:")hobbie = input("Hobbie:")info = '''------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name Name : %s #代表name Age : %s #代表age job : %s #代表job Hobbie: %s #代表hobbie ------------- end ----------------- #这行的%号就是把前面的字符串与拓号后面的变量关联起来
''' %(name,name,age,job,hobbie) print(info)
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字
name = input("Name:")age = input("Age:")print(type(age))#执行输出是:Name:AlexAge:22Job:IT
注意:input接收的所有输入默认都是字符串格式!
1把str转成int。
age = int( input("Age:") )print(type(age))
相反,也能把字符串转成数字,str( yourStr )
问题:现在有这么行代码msg = "我是%s,年龄%d,目前学习进度为80%"%('金鑫',18)print(msg)这样会报错的,因为在格式化输出里,你出现%默认为就是占位符的%,但是我想在上面一条语句中最后的80%就是表示80%而不是占位符,怎么办?
msg = "我是%s,年龄%d,目前学习进度为80%%"%('金鑫',18)print(msg)
这样就可以了,第一个%是对第二个%的转译,告诉Python解释器这只是一个单纯的%,而不是占位符。
作者:HaydenGuo
每一个前十年都想不到后十年我会演变成何等模样,可知人生无常,没有什么规律,没有什么必然。
只要我还对新鲜的知识、品格的改进、情感的扩张、有胃口,这日子就是值得度过的。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~