欢迎访问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)
列举一下几个常见的错误:
-
根本写不出来,不知道大学怎么上的。 -
忘记写最后的else了,也就是只打印了中国,杭州,北京等,没有的打印数字。 -
分支的顺序不对。 -
还有人成了 i%3 and i%5
,这个不算错,虽然没有i%15
更优。我猜解释器会帮忙优化的,这个就不扣分吧。
你呢?把犯过的错打在评论区。全对打5。
声明:本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理。 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解。本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。反馈邮箱:1159995880@qq.com
评论(0)