Python 尝试根据用户选择的难度更改随机数的范围
我在第14行发现了错误。 错误是:Python 尝试根据用户选择的难度更改随机数的范围,python,Python,我在第14行发现了错误。 错误是: 您不能使用用户输入的字符串直接映射变量。这种情况下,您应该使用字典。希望这有助于- answer = random.randint(1, int(difficult)) 您可以这样做,并从字典中查找值: import random, math tries = 0 level_dict = { 'extreme' : 5000000, 'hard' : 5000, 'medium' : 1000, 'easy' : 250,
您不能使用用户输入的字符串直接映射变量。这种情况下,您应该使用字典。希望这有助于-
answer = random.randint(1, int(difficult))
您可以这样做,并从字典中查找值:
import random, math
tries = 0
level_dict = {
'extreme' : 5000000,
'hard' : 5000,
'medium' : 1000,
'easy' : 250,
'beginner' : 100
}
print("Welcome to the number guessing game!")
print("Choose a difficulty: extreme, hard, medium, easy, beginner")
difficult = raw_input()
answer = random.randint(1, level_dict[difficult])
您正在尝试将“easy”字符串转换为整数,正如在编译器消息中所看到的那样,这是不起作用的。正确的方法是根据您得到的内容进行更改。因此,一个简短的解决方法是创建一个字典,而不是硬编码的变量名
difficulties = {
'extreme': 5000000,
'hard': 5000,
'medium': 1000,
'easy': 250,
'beginner': 100
}
print("Choose a difficulty: extreme, hard, medium, easy, beginner")
difficulty = raw_input()
if difficulty in difficulties:
maxRange = difficulties[difficulty]
answer = random.randint(1, maxRange)
# …
else:
print('Invalid difficulty')
谢谢@nu11p01n73R,我很忙,谢谢我明白你的意思,但我在字典中添加了一个Vikas 9000多设置。再次感谢。@Chris,Lol,无论如何谢谢。与论坛网站不同,我们不使用“谢谢”或“感谢任何帮助”或签名。请参阅”。顺便说一句,这是“提前感谢”,而不是“提前感谢”。
import random, math
tries = 0
level_dict = {
'extreme' : 5000000,
'hard' : 5000,
'medium' : 1000,
'easy' : 250,
'beginner' : 100
}
print("Welcome to the number guessing game!")
print("Choose a difficulty: extreme, hard, medium, easy, beginner")
difficult = raw_input()
answer = random.randint(1, level_dict[difficult])
difficulties = {
'extreme': 5000000,
'hard': 5000,
'medium': 1000,
'easy': 250,
'beginner': 100
}
print("Choose a difficulty: extreme, hard, medium, easy, beginner")
difficulty = raw_input()
if difficulty in difficulties:
maxRange = difficulties[difficulty]
answer = random.randint(1, maxRange)
# …
else:
print('Invalid difficulty')
difficulty_dict = {}
difficulty_dict['extreme'] = 5000000
difficulty_dict['hard'] = 5000
difficulty_dict['medium'] = 1000
difficulty_dict['easy'] = 250
difficulty_dict['beginner'] = 100
difficult = raw_input()
answer = random.randint(1, difficulty_dict[difficult])