Python Day11 循环

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 3.4 说说相等和内部表示 在Lisp中主要有5种相等断言,因为不是所有的对象被创建的时候都是相等意义上的相等。数...
    geoeee阅读 1,867评论 0 6
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,951评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 一上班,便很忙。飘忽忽又忙乱的感觉。今天的确十分冷,窗外寒风呼啸,可是我却忙乱的有些微热。 各种琐碎以及通知,感觉...
    大梦斋阅读 108评论 2 2