所以我有一个名为线索的列表,其中包括字母和符号配对,用户可以添加到。。。但是,在用户向列表中添加新的符号和字母配对之前,我希望程序检查这个配对是否已经存在于线索中。如果出现,则会显示一条消息,说明“此配对已存在,请重试”。你知道吗
这是我到目前为止的代码。。。你知道吗
#PROCEDURE FOR ADDING A NEW PAIRING
def add_pairing(clues):
addClue = False
#USER INPUTS A LETTER AND SYMBOL
letter=input("What letter would you like to add? ").upper()
symbol=input("\nWhat symbol would you like to pair with ").upper()
userInput= letter + symbol
#GOES THROUGH CLUES TO SEE IF THE PAIRING HAS ALREADY BEEN ENTERED
for clue in clues:
#IF THE CLUE HAS ALREADY BEEN ADDED, IT WILL PRINT A MESSAGE
if letter in clues:
print("The letter either doesn't exist or has already been entered ")
break
elif symbol in clues:
print("The letter either doesn't exist or has already been entered")
elif len(userInput) ==1:
print("You can only enter one character")
#IF THE CLUE DOESN'T EXIST IN CLUES, IT WILL GO TO THE else STATEMENT
else:
newClue = letter + symbol
addClue = True
if addClue == True:
clues.append(newClue)
#PRINTS MESSAGE SAYING THAT THE PAIRING HAS BEEN ADDED
print("The pairing has been added")
#PRINTS CLUES AFTER THE PAIRING HAS BEEN ADDED
print (clues)
return clues
您正在检查
if letter in clues
和elif symbol in clues:
,您想要的是in clue
,没有s。否则,为什么要循环?你知道吗这就是为什么你会看到DUP。不过,还有许多其他问题,例如:
userInput= letter + symbol
然后elif len(userInput) ==1:
。这是错误的检查-如果用户输入多个字符,其长度将超过2,而不是1。你知道吗break
在if letter in clues:
而不是在elif symbol in clues:
?你知道吗字典是这样一对值的理想对象:
相关问题 更多 >
编程相关推荐