Python 让一个数字通过一个数组中的3个数字

Python 让一个数字通过一个数组中的3个数字,python,arrays,python-3.x,Python,Arrays,Python 3.x,我目前正在尝试为我的编程类做一个作业,作业要求我创建一个介于1-10之间的范围,并在该范围内输入一个数字。给定输入后,数字将乘以3个数字(19、85、2)数组中的第一个数字。比如说我把数字2放进去。它将被乘以19。第一次计算后,它将从第一次计算的总数中减去数组中的第二个元素,然后将第二次计算除以数组中的第三个元素。我不知道如何让一个数字通过同一数组的不同元素。现在我可以得到我输入的要相乘的数字,但它与数组中的所有3个数字相乘,而不是第一个 def multiply( array , n ):

我目前正在尝试为我的编程类做一个作业,作业要求我创建一个介于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)) 

由于您对数组的每个元素执行不同的操作,因此对其进行迭代实际上没有意义——只需使用
[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]}")

由于您必须进行三种不同的计算,不需要迭代,我还注意到您使用了函数结构,因此我编写了一些类似于您的代码的内容

def multiply(array):

    #Getting the input.
    unumb = int(input("Please insert a number between 1 and 10: "))

    if 1 <= unumb <= 10:

        unumb*=array[0]
        unumb-=array[1]
        #unumb/=array[2] #If you want a float result.
        unumb = int(unumb/array[2]) #If you want a int result.

        return unumb

    else: print("Not a number between 1 and 10.")


array = [19,85,2]
print(multiply(array)) 
def乘法(数组):
#获取输入。
unumb=int(输入(“请插入一个介于1和10之间的数字:”)

如果在使用显式列表索引时使用1,那么对于字典来说也是一个很好的例子!非常感谢你,这次成功了。在我们的笔记中,他没有仔细阅读数组。@ti7同意;这是一个学习列表工作的可怕任务,LoTree有一位教授,他在笔记中删去了大部分的信息,因为他认为他会帮助我们很多。“贾斯汀辛格听起来有点神秘和丰富的话题,但它可能有助于认为Python是一个使C更容易使用的大包装。此外,这个老文档是否与Python 3.0相关?雷利?
def multiply(array):

    #Getting the input.
    unumb = int(input("Please insert a number between 1 and 10: "))

    if 1 <= unumb <= 10:

        unumb*=array[0]
        unumb-=array[1]
        #unumb/=array[2] #If you want a float result.
        unumb = int(unumb/array[2]) #If you want a int result.

        return unumb

    else: print("Not a number between 1 and 10.")


array = [19,85,2]
print(multiply(array))