一、运算符 1.1:算术运算 a=10 b=20 1.2:逻辑运算 1.2.1:优先级 在没有()的情况下not 优先级高于and,and优先级高于or,即优先级关系为( )notandor,同一优先级从左往右计算。 判断下列逻辑
一、运算符
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 < 1
1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
not 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 3
0 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 = 10
b = 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 = 0
if ( 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 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 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 python2 # -*- 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 = 0
- while timer < 3:
- print('钓鱼要钓刀鱼,刀鱼要到岛上钓')
- timer = timer + 1
- print('完成')
例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 % 2
10 if temp == 0:
11 pass
12 else:
13 print(start)
14 start = start + 1
例5:打印1-100内所有偶数
1 #!/user/bin/env python2 # -*- coding:utf-8 -*-
3
4 print("以下是1-100内所有的偶数:")
5 start = 1
6 while start < 101:
7 temp = start % 2
8 if temp == 1:
9 pass
10 else:
11 print(start)
12 start = start + 1
四、for循环语句
4.1:语法
4.2:例子
例1:
1 #!/usr/bin/python2 # -*- coding: UTF-8 -*-
3
4 for letter in 'Python':
5 print ("当前字母 :", letter)
6
7 #输出结果为:
8 当前字母 : P
9 当前字母 : y
10 当前字母 : t
11 当前字母 : h
12 当前字母 : o
13 当前字母 : n
例2:
1 #!/user/bin/env python2 # -*- coding:utf-8 -*-
3 fruits = ['banana', 'apple', 'mango']
4 for fruit in fruits:
5 print '当前水果 :', fruit
6
7 print "Good bye!"
8
9 #输出结果为:
10 当前水果 : banana
11 当前水果 : apple
12 当前水果 : mango
13 Good bye!
例3:
模拟用户登录三次机会
1 #!/user/bin/env python2 # -*- 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 = 0
12 flag = False
13 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 = True
20 break
21 else:
22 pass
23
24 if flag:
25 print("登录成功")
26 break
27 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 = 0
for i in range(1,100):
if i % 2 == 0:
num = num - i
else:
num = num + i
print(num)
五、格式化输出
现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Alex Li -----------Name : Alex Li
Age : 22
job : Teacher
Hobbie: 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,就代表你必须只能输入数字
age = input("Age:")
print(type(age))
#执行输出是:
Name:Alex
Age:22
Job: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
每一个前十年都想不到后十年我会演变成何等模样,可知人生无常,没有什么规律,没有什么必然。
只要我还对新鲜的知识、品格的改进、情感的扩张、有胃口,这日子就是值得度过的。