我们如何在循环中添加输入,然后在其他嵌套循环中进一步打印这些输入?

How can we add inputs in a loop and then further print these inputs in other nested loop?

我遇到了一个与 python 有关的问题。我只是用简单的话澄清一下。我们如何根据用户输入开始循环? 例如,假设我想要求用户“输入主题总数”并将此值存储在变量中并进行某种类型的转换。假设用户输入的值为 6“主题总数 = 6”。然后初始化 for 循环我想打印“输入主题 1、2、3、4、5、6 的名称”等,无论用户要求在每一行。用户输入所有 6 个主题的名称的位置。

现在,在下一阶段,我想打印“Enter marks for subject Phy, Chem”等。这里我想开始另一个循环,即嵌套循环。

该程序在聚合计算器上,用户输入他的科目总数,然后根据用户输入我必须问。

Enter subject 1 name: 
Enter subject 2 name:
......

依此类推,它会根据用户输入递增... 之后,我会询问用户输入的每个科目的分数,如物理、英语等。

Enter Marks of physics:
Enter marks of computer:
..
...

等等根据用户主体输入的数据...

之后,我将以求平均值和聚合等方式编写代码

我们来看这个例子

Enter total subjects: 3      #user input
Enter the name of subject 1: English.   #user input
Enter the name of subject 2:  Computer Science. #user input
Enter the name of subject 3: Data Science.   # user input

Enter marks of English:- 56
Enter Marks of Computer Science:- 45
Enter marks of Data Science:- 66

然后计算过程开始了,但我卡在了上层过程中...

但是我该怎么做呢????

Number_of_subjects = int(input("Enter total subjects? "))
Subjects = []
for i in range(Number_of_subjects):
    Subjects.append(input(f"Enter the name of subject {i+1}: "))

Marks = []
for x in Subjects:
    Marks.append(float(input(f"Enter marks of {x}: ")))


print (f"Average marks is {sum(Marks) / len(Marks)}")

您可以使用“标记”中的结果列表进行进一步计算,例如此处显示的平均值

不确定您有什么问题,但如果只是代码问题,我可以提供帮助。

total = int(input("Enter total number of subjects: "))

subjects = []
for i in range(total):
    subject = input(f"Enter subject {i} name: ")
    subjects.append(subject)

total_mark_sum = 0
marks = []
for i in range(len(subjects)):
    mark = int(input(f"Enter Marks of {subjects[i]}:"))
    marks.append(mark)
    total_mark_sum += mark
print("average=", total_mark_sum/len(subjects))    

这真的很简单,您可以使用字典和 类 之类的东西,但现在主题和标记的索引匹配。

这似乎是对 类 的恰当使用。

我们将为主题创建一个Class:

class Subject:

然后定义一个init:

def __init__(self, name, score = 0):
    self.name = name
    self.score = score

根据用户输入为每个主题创建一个对象,并将其添加到 Subject 个对象的列表中

list_of_subjects = []
for i in range (total_number_of_subjects):
    subject = Subject(input(f"Enter the name of subject {i+1}: "))
    list_of_subjects.append(subject)

然后我们可以向他们询问每个Subject的分数:

for subject in list_of_subjects:
    subject.score = int(input("Enter marks of " + subject.name))