Python 如何在数组中执行数学计算

Python 如何在数组中执行数学计算,python,Python,我的代码要求学生在年初体重增加3倍。 然后,它在一年的最后一天再次询问。 并将新权重指定给原始名称。 然而,我在计算上有一个问题,因为它只计算最后一个学生的重量,因此它要求其重量三次,并根据最后一个学生的原始重量给出正确的计算。 但我希望每个学生计算一次 应该改为 每个学生都有自己的计算方法如果要为每个学生计算,必须保存输入的权重。你的输入循环 for x in range(0, 3): names_value = str(input('What is your name? '))

我的代码要求学生在年初体重增加3倍。 然后,它在一年的最后一天再次询问。 并将新权重指定给原始名称。 然而,我在计算上有一个问题,因为它只计算最后一个学生的重量,因此它要求其重量三次,并根据最后一个学生的原始重量给出正确的计算。 但我希望每个学生计算一次

应该改为


每个学生都有自己的计算方法

如果要为每个学生计算,必须保存输入的权重。你的输入循环

for x in range(0, 3):
    names_value = str(input('What is your name? '))
    value = float(input('What is your weight in kg? '))
执行3次,每次替换以前的名称和权重,只保留最近的名称和权重。您将名称和权重列表初始化为整数[0,1,2],并且从不更改这些值。尝试存储它们:

for student_num in range(3):
    names_array[student_num] = str(input('What is your name? '))
    weights_array[student_num] = float(input('What is your weight in kg? '))

现在,您必须正确地使用这些值——您以后的代码也会遇到同样的问题。

当您比较年初权重和年末权重时,您使用的是“值”,它当前设置为之前的最后一个学生2-3行

if new_weight_value > value:
        print([names_array[i]],'Your weight has increased by: ', new_weight_value - **value**, 
'kg')
        weights_array[i] = new_weight_value
    elif new_weight_value == value:
        print([names_array[i]],'Your weight has stayed the same')
        weights_array[i] = new_weight_value
    else:
        print([names_array[i]],'Your weight has decreased by: ', **value** - new_weight_value,  
'kg')
        weights_array[i] = new_weight_value
您需要使用
权重数组[i]
名称数组[i]
中查找值,而不是使用值

此外,您可以使用

for name in names_array:  #Do
    pass
通常,您不应该同时使用range(len())

for i in range(len(names_array)):  #Do not!
    pass

这样可以避免使用数组来查找所有值

我在我的帖子中添加了一个图像,但它仍然在做同样的事情。我不明白你希望我在哪里实现,我复制了你失败的代码,并提供了替换代码。关于我使用你的推荐信,你“不明白”什么?我也把你的失败代码复制到了完整的代码中,但我仍然遇到同样的问题(有没有办法把完整的代码发送给你)今天是开学的第一天:)你叫什么名字?It’你的体重是多少公斤?你叫什么名字?你的体重是多少公斤?你叫什么名字?f你的体重是多少公斤?你现在的体重是多少公斤?你现在的体重是多少公斤?你现在的体重是多少公斤?你现在的体重是多少公斤?你现在的体重是多少公斤?你的体重减少了10.066.0公斤你的体重减少了10.066.0公斤您的体重减少了:10.0 66.0 kg通常不接受到输出图像的非现场链接。请按照您创建此帐户时建议的帮助文档中的发布指南进行操作。然后…在此处应用。由于包含不必要的屏幕截图,此问题可能会被否决。使用屏幕hots,你正在阻止任何人帮助你。没有人想从截图中重新键入你的东西,截图通常是不可读的。