这里完全是新手。我想让用户输入一个与字典中的名称之一匹配的名称,否则程序会再次询问,直到输入正确的名称。这是代码:
class Yakuza:
def __init__(self, name, clan):
self.name = name
self.clan = clan
def present(self):
print(f"Hello! I am {self.name} from the {self.clan} clan!")
user1 = Yakuza("Kiryu", "Dojima")
user2 = Yakuza("Nishikiyama", "Dojima")
Startup = input("Welcome to Yakuza 0! Press Enter to start.")
character_dictionary = {"Kiryu" : "Dojima Clan",
"Nishikiyama" : "Dojima Clan"}
print(character_dictionary)
character_select = input("Select your character: ")
while character_select in character_dictionary:
if character_select == "Kiryu":
user1.present()
elif character_select == "Nishikiyama":
user2.present()
else:
print("This character is not available. Try again")
我预计循环会一直工作,直到输入正确的名称,但它会永远持续下去。另外,character_select 输入是否在 while 循环之内或之外有什么关系吗?
class Yakuza:
def __init__(self, name, clan): # Fixed __init__ typo here
self.name = name
self.clan = clan
def present(self):
print(f"Hello! I am {self.name} from the {self.clan} clan!")
user1 = Yakuza("Kiryu", "Dojima")
user2 = Yakuza("Nishikiyama", "Dojima")
Startup = input("Welcome to Yakuza 0! Press Enter to start.")
character_dictionary = {"Kiryu": "Dojima Clan", "Nishikiyama": "Dojima Clan"}
print(character_dictionary)
while True: # Changed the condition here
character_select = input("Select your character: ") # Moved inside the loop
if character_select in character_dictionary:
if character_select == "Kiryu":
user1.present()
break # Exit the loop after successful execution
elif character_select == "Nishikiyama":
user2.present()
break # Exit the loop after successful execution
else:
print("This character is not available. Try again.")