【发布时间】:2019-01-14 17:56:08
【问题描述】:
给定 1 到 100 个数字,对于 3 的倍数,它应该打印“he”,对于 5 的倍数,它应该打印“llo”,对于 3 和 5 的倍数,它应该打印“hello”。
这就是我所拥有的:
for i in range (1,100):
if(i%3==0):
print("he")
elif(i%5==0):
print("llo")
elif(i%3==0 and i%5==0):
print("hello")
我将如何递归地执行此操作?
【问题讨论】:
-
到目前为止你尝试了什么?
-
您的代码和 15 只打印“他” - 并非所有 3 ...似乎都是错误的,
i%5==5根本不可能 ... -
@PatrickArtner 你是对的。显示的条件未按正确顺序检查。
-
@PatrickArtner 你说得对,我的意思是 i%5==0。还会错吗?
-
@Miraclefruit 一个问题是,正如@PatrickArtner 指出的那样,
15应该说“你好”,但它没有因为它去了第一个 if 语句,if( 15 % 3 == 0):它是它会打印出“他”并退出整个 if 语句,而不检查是否可能是 5 的倍数。顺序需要不同。