当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-15
一、运算符 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==1
1 < 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;

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

求出下列逻辑语句的值。

8 or 4
0 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:比较运算

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

1.4:赋值运算

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

二、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("输入错误")

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

三、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 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 pass
10 else:
11 print(start)
12 start = start + 1

 

 

四、for循环语句

4.1:语法

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

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 当前字母 : y
10 当前字母 : t
11 当前字母 : h
12 当前字母 : o
13 当前字母 : 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 当前水果 : banana
11 当前水果 : apple
12 当前水果 : mango
13 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 = 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

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

   例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,就代表你必须只能输入数字

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

name = input("Name:")
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

每一个前十年都想不到后十年我会演变成何等模样,可知人生无常,没有什么规律,没有什么必然。

只要我还对新鲜的知识、品格的改进、情感的扩张、有胃口,这日子就是值得度过的。

上一篇:Python(2):Pycharm下载及安装
下一篇:没有了
网友评论