这是代码只是为了找到某种产品:在这个数组中打印所有数字的产品Modulo 10 ^ 9 + 7
n=int(input())
answer=1
b=10**9
array_1=[]
for i in range(n):
array_1.append(int(input()))
for j in range(n):
answer=(answer*array_1[j])% (b+7)
print(answer)
这个我在python 3中的代码在jupyter笔记本中正常工作,但是在 python(3.5.2)它显示输入5的错误,然后是1 2 3 4 5
Execution failed.
ValueError: invalid literal for int() with base 10 : '1 2 3 4 5'
Stack Trace:
Traceback (most recent call last):
File "/hackerearth/PYTHON3_46/s_ad.py3", line 16, in
array_1.append(int(input()))
ValueError: invalid literal for int() with base 10: '1 2 3 4 5'
请有人帮我解决这个错误,因为我是python中的新手
答案 0 :(得分:1)
array_1.append(int(input()))通过使用这个我尝试获取int的数组 从用户输入逐个取值 -
但看起来您将一个接一个地输入数字作为单个字符串,每个数字用空格分隔。在这种情况下,您应该使用拆分来获取单个数字:
array_of_ints = [int(num) for num in input().split()]
array_1 += array_of_ints
如果您尝试逐个输入数字,您的代码似乎是正确的。你只需要确保你确实逐个输入数字。 即1然后按Enter键,2然后按Enter键,依此类推......
答案 1 :(得分:0)
我不完全确定您要在此处实现的目标,但仅仅基于查看它,您的代码将不会接受1 2
之后的任何输入
如果从终端运行,则每个输入之间应该有一个新行,即
./your_program.py
4
4
3
2
1