【发布时间】:2019-12-05 01:25:12
【问题描述】:
这是我第一次参加计算机科学课程,如果这个答案真的很明显,请原谅我。我写了下面的代码,它工作得很好。我只需要添加一条 else 语句来说明无效的名称输入。
这是之前的:
mynames = ['Naomi', 'James', 'Amos', 'Alex', 'Bobbie', 'Josephus', 'Fred', 'Camina', 'Julie', 'Prax', 'Christien', 'Anderson', 'Havelock', 'Ashford', 'Bull', 'Anna', 'Arjun', 'Souther', 'Carissa', 'Samara']
myscores = [89, 98, 76, 76, 84, 93, 82, 64, 63, 75, 76, 86, 96, 75, 86, 100, 99, 87, 84, 94]
name = input("Please enter a name:")
#search through mynames to find the name
while name!='q':
for x in range(20):
if mynames[x] == name:
print(mynames[x], "scored", myscores[x])
name = input("Please enter a name:")
这是之后:
mynames = ['Naomi', 'James', 'Amos', 'Alex', 'Bobbie', 'Josephus', 'Fred', 'Camina', 'Julie', 'Prax', 'Christien', 'Anderson', 'Havelock', 'Ashford', 'Bull', 'Anna', 'Arjun', 'Souther', 'Carissa', 'Samara']
myscores = [89, 98, 76, 76, 84, 93, 82, 64, 63, 75, 76, 86, 96, 75, 86, 100, 99, 87, 84, 94]
name = input("Please enter a name:")
#search through mynames to find the name
while name!='q':
for x in range(20):
if mynames[x] == name:
print(mynames[x], "scored", myscores[x])
else:
print("That name is not in this class.")
name = input("Please enter a name:")
name = input("Please enter a name:")
它只是不停地打印“那个名字不在这个类中。”无论我输入什么。SOS
【问题讨论】:
-
它继续打印,因为它在循环的每次迭代之前执行
else,其中mynames[x] != name。 -
你试过输入
Naomi吗? -
您应该考虑使用字典。
dict(zip(mynames, myscores))将从您的列表中创建一个。从那里查找值要容易得多。 -
从python退一步,想想逻辑。您的代码当前要求
name,如果该名称不是q,那么它会检查mynames列表的第一个索引是否与该名称相同。如果不是,则表示该名称不在该类中。这样想有帮助吗?
标签: python loops for-loop if-statement