【问题标题】:Python loop not taking any inputsPython循环不接受任何输入
【发布时间】:2021-09-17 18:42:21
【问题描述】:

这段代码有什么问题?我看不到错误。编译器显示此输出。(注意:我是 python 新手)

输出:输入元素编号:1 无

no_of_zeros = 0
for i in range(0, 5):
    array[i] = input(print("Enter element no:", i+1))
    if(array[i]==0):
        array[i] = 1
        is_zero += 1

sum = 0
for j in range(0, 5):
    sum = sum + array[j]

print(sum)
print(no_of_zeros)

【问题讨论】:

  • 你在哪里声明变量“array”?
  • 听说python不需要声明@La-comadreja
  • 除非你不知道它是一个元组还是一个列表,例如。您需要指定。

标签: arrays loops python-3.9


【解决方案1】:

您无法访问不存在的索引。预分配array 或使用array.append。

array = list(range(0,5))
no_of_zeros = 0
for i in range(0, 5):
    array[i] = int(input("Enter element no{}:".format(i+1)))
    if(array[i]==0):
        array[i] = 1
        is_zero += 1

sum = 0
for j in range(0, 5):
    sum = sum + array[j]

print(sum)
print(no_of_zeros)

这也是一种非常 C-ish 的做事方式(这很好)。 Python 可以使该代码更简单。一旦你掌握了 Python 的做事方式,你就会明白为什么 Python 如此受欢迎。例如,学习列表理解。

您的代码可以减少到三行...

array = [ int(input("Enter element no{}:".format(i+1))) for i in range(5) ]
print(sum(array))
print(sum([ 1 for x in array if x==0 ]))

【讨论】:

    猜你喜欢
    • 2015-04-16
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2017-03-25
    • 2018-11-13
    • 2015-12-04
    • 2013-08-27
    相关资源
    最近更新 更多