Python 尝试根据用户选择的难度更改随机数的范围

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,

我在第14行发现了错误。 错误是:


您不能使用用户输入的字符串直接映射变量。这种情况下,您应该使用字典。希望这有助于-

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])