Python3:用户输入随机数,看看是否是5的倍数。然后得到所有5的倍数的和
我花了一整天的时间在这个代码上。它失败了Python3:用户输入随机数,看看是否是5的倍数。然后得到所有5的倍数的和,python,Python,我花了一整天的时间在这个代码上。它失败了 def output (n): n = int(input('Enter a number: ') while n != 0: if n % 5 == 0: print(n, 'Yes') n = int(input('Enter a number: ') if n == 0 output = range(1, int(input('Enter a number: '))+1) print
def output (n):
n = int(input('Enter a number: ')
while n != 0:
if n % 5 == 0:
print(n, 'Yes')
n = int(input('Enter a number: ')
if n == 0
output = range(1, int(input('Enter a number: '))+1)
print (output)
output (n)
问题是:
def test(n):
if not n%5:
print (n,'Yes')
return n
else:
print (n,'No')
return 0
total = 0
while True:
n = int(input('Enter a number: '))
if not n:
break
total+=test(n)
print(total)
结果:
Enter a number: 10
Enter a number: 10
Enter a number: 100
Enter a number: 50
Enter a number: 5
Enter a number: 9
Enter a number: 7
Enter a number: 10
Enter a number: 4
Enter a number: 15
Enter a number: 5
Enter a number: 8
Enter a number: 2
Enter a number: 0
8 numbers were multiple of 5s
你能解释一下失败的原因吗?请指出它是如何失败的为什么有一个函数和一个称为output的变量?@cᴏʟᴅsᴘᴇᴇᴅ 已经提到了关键点,当调用变量输出时,覆盖函数。因此,当您试图在最后调用函数时,实际上是在“调用”变量。有一个名为
output()
的函数实际接受输入,这似乎很奇怪。它给了您一个非常好的计数!你太棒了。谢谢。与其试图说明主题或提供任何有价值的评论,你所做的只是盲目地回答原始问题。同意。但是,我确实看到了我在哪里出错,并且能够理解代码。我要感谢大家的工作,并投票支持了所有人。太好了!谢谢大家。:-)
Enter a number: 10
Enter a number: 10
Enter a number: 100
Enter a number: 50
Enter a number: 5
Enter a number: 9
Enter a number: 7
Enter a number: 10
Enter a number: 4
Enter a number: 15
Enter a number: 5
Enter a number: 8
Enter a number: 2
Enter a number: 0
8 numbers were multiple of 5s