美文网首页
2020-07-05 Python学习笔记16 for循环

2020-07-05 Python学习笔记16 for循环

作者: 建渐升辉 | 来源:发表于2020-07-05 19:31 被阅读0次

一些关于自己学习Python的经历的内容,遇到的问题和思考等,方便以后查询和复习。

声明:本人学习是在扇贝编程通过网络学习的,相关的知识、案例来源于扇贝编程。如果使用请说明来源。

第十六关 for循环

练习:打印20以内的偶数

请用 for 循环 和 条件判断 的知识编写一段代码,按顺序输出 0-20 之间(包括 0 和 20)的所有偶数(除以 2 余数为 0 则为偶数)。

提示:要记得正确缩进代码块哦~

for i in range(21):

  x =int(i / 2)

  ifi / 2 > x:

print(i + 1)

最初用的print(i),结果打出来的是奇数,于是我改成了i+1,能打出正确的结果,但是系统反馈是和要求不一致。这里少了一个0,0是偶数,所以答案说不符合题意

这里x是i除以2的结果的取整,如果i/2大于x,说明i不能被2整除啊,然后打印出i+1,因为i+1肯定就能被2整除,就是偶数了。

这个判断偶数的方法来自群里一位网友的思路,黄帮主说也可以。

for i in range(21):

  if i % 2 == 0:  这里表示,i被2整除,余数为0。

   print(i)

以下这个也可以:

for i in range(0, 21, 2):

 print(i)

编程是很灵活的,很多时候并非只有唯一解。只要能实现目标,代码怎么写都可以。首先得先能写出符合要求的代码,之后再考虑如何写得更好!

练习:挑出低于60的分数

语文考试刚考完,语文老师让会编程的小贝帮她统计一下分数,将分数低于60 的筛选出来。但小贝最近贪玩没有好好学编程,你来运用列表生成式的知识帮帮小贝吧。

scores = [91, 4, 20, 67, 24, 13, 84, 40,77, 47]

low_scores =[x for x in scores if x < 60]  #列表生成式,三个部分放在一起,不用标点

print(low_scores)

注意:

表达是x、for循环 for x in

scores、条件语句if x<60 这三个部分之间都不用任何标点,空格即可,加上标点就成了坏输入了。

这样也可以

scores = [91, 4, 20, 67, 24, 13, 84, 40,77, 47]

y = []

for i in scores:   最后有英文冒号

  if i < 60:   最后有英文冒号如果不是列表生成式,不可以放一起,否则会报错。

    y.append(i)

print(y)

练习:存钱吃大餐

小贝最近想存 100 块钱去吃一顿大餐,但小贝每次只能存 5-10 元(每次金额随机)。你能写段代码在小贝每次存钱时提示小贝已经存了多少钱,并在存款大于等于 100 时提醒小贝钱存够了吗?(小贝现存款为 0)

from random import randint

y = []

# 使用 randint(5, 10)随机生成 5-10 之间的数(包括 5 和 10)

i = 0

whilei < 100:

  x = randint(5, 10)

  y.append(x)

  i = i + x

  if i >= 100:

    break

print('钱存够了,可以去吃大餐了')

print(y)

结果是

钱存够了,可以去吃大餐了

[9, 7, 8, 6, 9, 9, 7, 9, 5, 9, 5, 7, 9, 8]

这个程序结果是正确的,每次运行之后结果都不一样,但是都是元素和大于100,符合题意

但是看过答案之后,我的思路和答案一是一样的。

但是我的程序中了解多余了,比如

i = 0

while i < 100:

  x =randint(5, 10)

 y.append(x)

  i =i + x

  if i >= 100:

    break

i < 100和i>=100两个条件重复了,去掉一个if、break条件也可以的。

答案中,while会永远执行,所以加入一个条件判断,来终止循环。

而在答案一种,由于已经有了判断条件,所以就不需要break终止的语句了。

练习:要不要停车检查

最近正严厉打击黑恶势力,所有过往的车辆都需要停车检查,执行公务的救护车🚑 和警车🚔 除外。现在排着一列车队等待接受检查,请你写一段程序来判断车辆是否需要接受检查。如果需要车辆需要检查,输出 xxx 请停车接受检查。如果不需要则输出 xxx 放行,并跳过后续检查步骤。

cars = ['小汽车', '救护车', '大卡车', '警车', '公交车']

for i in cars:

  ifi == '救护车' or i == '警车':

   print(i + '放行')

   continue

 print(i + '请停车接受检查')

结果是:

小汽车请停车接受检查

救护车放行

大卡车请停车接受检查

警车放行

公交车请停车接受检查

练习:小蝌蚪找妈妈

小蝌蚪找妈妈的故事你小时候一定听过,接下来我们用 for 循环 的知识编写小蝌蚪找妈妈的故事。

要求:

使用 for 循环 遍历animals;

每次循环都在屏幕上打印 请问你是我妈妈吗?;

当遇到 青蛙 时打印 青蛙:我是你妈妈 并结束循环,遇到其他动物时则打印 xxx:我不是你妈妈(xxx 为具体动物名)。

animals = ['鸭', '鱼', '乌龟', '鹅', '青蛙', '虾', '鳄鱼']

for animal in animals:

 print('请问你是我的妈妈吗?')

  ifanimal == '青蛙':

   print('青蛙:我是你的妈妈')

   break

 print(animal + ':我不是你的妈妈')

最初忘记了每次循环都打印“请问你是我的妈妈吗?”这个条件,后来看答案补上了。

例子:九九乘法表 嵌套

for i in range(1, 10):

  for j in range(1,i + 1):

    # \t是制表符,用来对齐。end 默认是 \n,打印后会换行,end='' 可以防止换行

    print(str(j) +'×' + str(i) + '=' + str(i * j) + '\t', end='')

  #打印完一行后换行

  print('')

# 输出:

# 1×1=1

# 1×2=2   2×2=4

# 1×3=3  2×3=6   3×3=9

# 1×4=4  2×4=8   3×4=12  4×4=16

# 1×5=5  2×5=10  3×5=15  4×5=20 5×5=25

# 1×6=6  2×6=12  3×6=18  4×6=24 5×6=30  6×6=36

# 1×7=7  2×7=14  3×7=21  4×7=28 5×7=35  6×7=42  7×7=49

# 1×8=8  2×8=16  3×8=24  4×8=32 5×8=40  6×8=48  7×8=56 8×8=64

# 1×9=9  2×9=18  3×9=27  4×9=36 5×9=45  6×9=54  7×9=63 8×9=72  9×9=81

相关文章

网友评论

      本文标题:2020-07-05 Python学习笔记16 for循环

      本文链接:https://www.haomeiwen.com/subject/llfbqktx.html