Python Day11 循环

2017-04-27  本文已影响0人  读书的番茄

习题:
输入一个随机数值,按照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),实际上造成了效率低下

上一篇下一篇

猜你喜欢

热点阅读