三、运算符、格式化输出、流程控制语句。

网友投稿 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小时内删除侵权内容。

上一篇:GC算法实现垃圾优先算法
下一篇:四、break和continue。(break一break 意思)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~