我目前正在尝试为我的编程课做作业,该作业要求我创建一个 1-10 之间的范围并输入该范围内的数字。给出输入后,该数字将乘以 3 个数字数组 (19、85、2) 中的第一个数字。假设我输入数字 2。它将乘以 19。第一次计算后,它将从第一次计算的总和中减去数组中的第二个元素,然后它将第二次计算除以第三次数组中的元素。我不知道如何让一个数字遍历同一数组的单独元素。现在我可以得到我输入的数字相乘,但它与数组中的所有 3 个数字相乘,而不是第一个。
def multiply( array , n ):
unumb = 0
while 1 > unumb or 10 < unumb:
try:
unumb = int(input("Please enter a number (1 - 10) : "))
except ValueError:
print ("That wasn't an integer in range")
for i in range(n):
unumb = unumb * array[i]
return unumb
array = [19, 85, 2]
n = len(array)
print(multiply(array, n))
输出:
Please enter a number (1 - 10) : 2
6460
最佳答案
由于您对数组的每个元素执行不同的操作,因此迭代它并没有真正意义 - 只需使用 [0]
, 访问元素即可[1]
和 [2]
:
while True:
try:
x = int(input("Please enter a number from 1 to 10: "))
if x not in range(1, 11):
raise ValueError("That wasn't an integer in range")
break
except ValueError as e:
print(e)
a = [19, 85, 2]
print(f"Result: {(x * a[0] - a[1]) / a[2]}")
关于python - 让一个数字遍历数组中的 3 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65207514/