欢迎访问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。
原文链接:https://www.afxvip.com/4969.html,转载请注明出处。
评论0