【发布时间】:2019-01-14 18:18:57
【问题描述】:
英国 GSCE 评分系统最近发生了变化,变得令人困惑,它只是不起作用。我只是得到了我的估计成绩,不知道什么是好的,什么不是。为了解决我的困惑,我决定做一些东西来保存、转换和编辑我的成绩。为了使我的代码更整洁,我决定使用两个 for 循环,以便将它们全部打印出来。当我尝试这个时,它看起来像是在工作,但它只是打印了“对于英语,你得到了 6c”,然后当它转到本来应该是英语文学的东西时,它只是打印了“对于英语,你得到了 6c”,我确实得到了6c,但主题不是英语。如果我重新排列 for 循环的顺序,只有成绩相同但课程正常,也会发生同样的情况。
我所做的只是重新安排了 for 循环。似乎没有任何效果。代码如下:
import time
with open('lessons.txt', 'r') as f:
english_language = str(f.readline().strip('\n'))
english_lit = str(f.readline().strip('\n\n'))
maths = str(f.readline().strip('\n\n\n'))
chemistry = str(f.readline().strip('\n\n\n\n'))
physics = str(f.readline().strip('\n\n\n\n\n'))
biology = str(f.readline().strip('\n\n\n\n\n\n'))
re = str(f.readline().strip('\n\n\n\n\n\n\n'))
business = str(f.readline().strip('\n\n\n\n\n\n\n\n'))
computer_science = str(f.readline().strip('\n\n\n\n\n\n\n\n\n'))
french = str(f.readline().strip('\n\n\n\n\n\n\n\n\n\n'))
geography = str(f.readline().strip('\n\n\n\n\n\n\n\n\n\n\n'))
lessons = []
lessons.extend((english_language, english_lit, maths, chemistry, physics, biology, re, business, computer_science, french, geography))
lesson_name = ["English langauge", "English liturature", "Maths", "Chemistry", "Physics", "Biology", "R.E", "Business studies", "Computer science", "French", "Geography"]
print("What do you want to do? Read your grades, edit your grades, convert your grades or read and convert your grades.")
option = input("Say read to read your grades or edit to edit your grades: ")
if option == "read":
for i in lessons:
for name in lesson_name:
print("For", name, "you got",i)
time.sleep(3)
break
elif option == "convert":
import converter.py
elif option == "edit":
print("HIIIIIIIIIIIIIIIIIIII")
文件中的成绩从我得到的最低的 5B 到我得到的最高的 7B。
我期望它做的是问你想做什么,它会做什么。然后,如果您输入“阅读”,它将显示“对于英语,您获得了 6c”并重复,直到进入地理。
【问题讨论】:
-
您的阅读代码看起来很奇怪。
.strip('\n\n\n\n\n\n\n\n\n\n\n')
标签: python-3.x loops for-loop