Python每天3分钟 – #014写分支语句if..else..最常见的错误

欢迎访问Python每天3分钟系列。

每天早上8点半(周末要晚点),花3分钟时间,学习或温习一个Python知识点。

图片

今天是第014篇:

写分支语句if..else..最常见的错误

昨天说了快速判断一个程序员逻辑性的一个题目:

问题是:

写一个程序模拟下面这个游戏规则:
一圈人围在一起数数,从1数到100,
普通数字直接报数(打印),
如果是3或者3的倍数输出”北京“,
如果是5或者5的倍数输出”杭州“,
如果是3的倍数,也是5的倍数输出”中国“。

期待的结果类似这样:

1,2,北京,4,杭州,...

这样也可以,格式不是关键

1
2
北京
...

标准答案

先给一个错误的答案:

for i in range(1, 101):
  if i%3 == 0:
    print('北京')
  elif i%5 == 5:
    print('杭州')
  elif i%15 == 0:
    print('中国')
  else:
    print(i)

能看到错在哪里吗?

分支的顺序不对,很多人犯了顺序不对的错误。

正确的答案是:

for i in range(1, 101):
  if i%15 == 0:
    print('中国')
  elif i%3 == 0:
    print('北京')
  elif i%5 == 0:
    print('杭州')
  else:
    print(i)

列举一下几个常见的错误:

  1. 根本写不出来,不知道大学怎么上的。

  2. 忘记写最后的else了,也就是只打印了中国,杭州,北京等,没有的打印数字。

  3. 分支的顺序不对。

  4. 还有人成了i%3 and i%5,这个不算错,虽然没有i%15更优。我猜解释器会帮忙优化的,这个就不扣分吧。

你呢?把犯过的错打在评论区。全对打5。

原文链接:http://www.zsiss.com/4969.html,转载请注明出处。

0

评论0

请先

爱分享推出ChatGPT国内镜像,无需魔法直接用!写文章,写代码,做PPT,做网站原创软文效果好到爆炸 https://chat.gcrup.com

社交账号快速登录