习题:
输入一个随机数值,按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印
方法一:
imp = int(input('请输入0-100的随机数值查询相应级别:'))
if (100 >= imp) and (imp > 90):
print('A', end='')
if (90 >= imp) and (imp > 80):
print('B', end='')
if (80 >= imp) and (imp >= 60):
print('C', end='')
if (60 > imp) and (imp >= 0):
print('D', end='')
if (imp < 0) or (imp > 100):
print("输入错误!")
方法二:
imp = int(input('请输入0-100的随机数值查询相应级别:'))
if 100 >= imp >= 90:
print('A', end='')
elif 90 > imp >= 80:
print('B', end='')
elif 80 > imp >= 60:
print('C', end='')
elif 60 > imp >= 0:
print('D', end='')
else:
print('输入错误!')
条件表达式(三元操作符)
x, y = 4, 5
print(x)
print(y)
if x < y:
small = x
else:
small = y
print(small)
small = x if x < y else y
print(small)
image.png
assert 断言
当assert 后面条件判断为False时,程序崩溃并显示 assertionerror。常作为程序中的检查点,与其程序继续运行后面代码,提出更多异常问题,不如直接告知现在的错误问题。
>>> assert 3 > 4
Traceback (most recent call last):
File "", line 1, in
assert 3 > 4
AssertionError #判断条件为False,提示assertionerror
>>> assert 4 > 3
>>> #判断条件为Ture,所以跳过了该检查点
while 循环
语法:
while 条件: #只要‘条件’为真,则循环体内内容则无限循环
循环体
例如:
>>> while i < 10:
print(i)
i += 1
结果:
0
1
2
3
4
5
6
7
8
9
>>>
关键语句:
break:break的意思是终止循环,跳出循环体
sta = 'start'
answer = input('请输入开始的英文:')
while True:
if answer == sta:
break
answer = input('抱歉,输入错误,请重新输入:')
print('The end!')
continue:终止本轮循环,并开始下一轮循环,且循环条件为True
for i in range(10):
if i%2 != 0:
print(i)
continue
i += 2
print(i)
结果:
2
1
4
3
6
5
8
7
10
9
>>>
for 循环
语法:
for 目标(变量) in 表达式:
循环体
meter = ['显示器', '键盘', '鼠标', '机箱', 'USB']
for vari in meter:
print(vari, len(vari))
range() BIF
输出一个从start参数开始,到stop参数截止的数字序列
语法:
range([start,] stop[, step = 1])
函数内有3个参数,其中用‘[]’括起来的参数为可选参数
step = 1 表示第三个参数默认值是1,既,步进1.(每一次递增默认是+1)
例如:
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(2, 9):
print(i)
2
3
4
5
6
7
8
>>> for i in range(1, 10, 2):
print(i)
1
3
5
7
9
>>> for i in range(1, 10, 1):
print(i)
1
2
3
4
5
6
7
8
9
>>>
补充:
第一组
i = 0
string = '循环再循环'
while i < len(string):
print(i)
i += 1
第二组
i = 0
string = '循环再循环'
length = len(string)
while i < length:
print(i)
i += 1
两组代码看似结果一样,且第二组代码还多了1行。但第一组代码每次都要循环执行len(string),实际上造成了效率低下
网友评论