【发布时间】:2019-09-23 04:23:31
【问题描述】:
我正在尝试创建一个从 1 到 50 的函数,它在 7 的倍数上打印“John”,在 2 的倍数上打印“Hi”,当倍数同时是 3 和 5 的倍数时打印“Hi John”。但是输出似乎不正确。当 x = 5 时,该函数不应该这样做时打印“Hi”。
def phrase_generator(x):
if x % 7 == 0:
print("John")
elif x % 2 == 0:
print("Hi")
elif (x % 3 == 0 and x % 5 == 0):
print("Hi John")
else:
pass
for number in range(1,51):
print(phrase_generator(number))
【问题讨论】:
-
它打印 hi 为 4 而不是 5
-
谢谢。你知道为什么我的输出中有附加值吗?例如,我在 print(phrase_generator(number)) 时得到 > 50 个数字?
-
因为您要打印两次。将您的短语生成器中的打印语句更改为返回语句。
-
@RobertKearns 哦,我明白了。谢谢! :)