Python: 循环中的循环?
我刚学会了编程和Python的基础知识,作为一个“挑战”,我需要用一个for循环来打印出每个学生的数据。我只想显示学生的名字和他们的分数,而不是像这样直接打印字典:
- 打印学生的名字
- 打印学生的作业分数
- 打印学生的测验分数
- 打印学生的考试分数
打印学生的作业分数,打印学生的测验分数,打印学生的考试分数。
但我现在在通过一个变量(在这个例子中是“students”)访问字典的值时遇到了困难。我需要在一个for循环里再用一个for循环吗?
lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
students = [lloyd, alice, tyler]
for i in students:
print i[i] #<------ I have no idea what to do here
请一步一步指导我写出好的代码(这样我才能理解),任何答案都将非常感谢。
6 个回答
0
试试这个:
lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
students = [lloyd, alice, tyler]
for i in students:
total=0;
for s in i['quizzes']:
total=total+s;
print "Name: "+i['name']+" Score:"+str(total);
0
注释代码:
lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
students = [lloyd, alice, tyler]
for student in students:
print student # The dictionnary, so...
for j in student:
print student[j] # Print each value
1
在你的for循环中,i已经代表了学生:
for i in students:
print i
{'quizzes': [88.0, 40.0, 94.0], 'tests': [75.0, 90.0], 'name': 'Lloyd', 'homework': [90.0, 97.0, 75.0, 92.0]}
你可以这样显示所需的信息:
print i['name']
你需要阅读这个: https://docs.python.org/2/tutorial/datastructures.html
1
你应该把 i[i]
替换成 i["name"]
。当你遍历 students
时,每次循环你得到的是一个字典,而这个字典的内容存储在 i
里。
要获取字典里的值,你需要用“键”来访问(在Python中,字典是由键和值组成的);在你的例子里,你想用 name
作为键来获取对应的值。
1
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会继续运行。
比如,你可能想要在用户输入的数字大于10时,程序才进行下一步。这种情况下,你就需要用到“条件语句”。条件语句就像是一个检查点,程序会在这里停下来,看看条件是否成立。如果成立,程序就会继续执行;如果不成立,程序可能会选择做其他事情,或者直接停止。
在编程中,条件语句通常用“if”这个词来表示。你可以把它想象成一个问句:“如果这个条件成立,我就做这个事情。”
这样一来,程序就能根据不同的情况做出不同的反应,变得更加灵活和智能。
for d in students:
print d["name"],d["homework"],d["quizzes"],d["tests"]