ValueError:以 10 为基数的 int() 的文字无效:'3 -1 1 14'
我收到此错误 实际上,我试图将由空格分隔的 n 个整数流作为输入,而不需要任何列表或字典,但我对 python 很陌生。 输入是:
4
3 -1 1 14
这是一个没有任何列表/集合/字典理解的问题要求
问题指出: 描述
Python解决方案的具体规则
我尝试使用递归获取输入,但陷入空白并得到相同的错误 我想知道如果我将它作为字符串输入然后将它们转换为数字可以吗?
这是我的代码:-
def helper2(n: int, sum: int):
m = int(input()).split()
if m > 0:
sum += m * m
else:
sum += 0
helper2(n - 1, sum)
def helper(n: int):
if n == 0:
return 0
m = int(input())
sum = 0
helper2(m, sum)
helper(n - 1)
return sum
def main():
n = int(input())
sum = helper(n)
print(sum)
if __name__ == "__main__":
main()
我知道Python中的输入被视为字符串或列表(对于数组),但我们不能使用任何循环或列表、字典理解 我很困惑是否还有其他方法将数组作为输入
def main():
n: int = int(input())
input_str: str = input()
final_sum: int = add(n - 1, 0, input_str)
print(final_sum)
def add(n: int, sum_of_ints: int, input_str: str):
# turning the input_str int a list of ints and taking the value at location n
x: int = list(map(int, input_str.split()))[n]
# adding x to the sum
if x > 0:
sum_of_ints += x ** 2
# calling the add function and setting the sum to its output
if n > 0:
sum_of_ints = add(n - 1, sum_of_ints, input_str)
# returning the output
return sum_of_ints
if __name__ == "__main__":
main()