我的代码列举了我事先输入的各种变量,然后要求用户输入该变量。是否可以让用户只能输入变量的序号?事实证明,变量每次都会改变顺序,它们的索引也会改变。
我希望用户只能输入一位数字(假设我们需要数字 2 下的值。在这种情况下,只输入数字 2)这不是最困难和必要的问题,但我无法解决它。
from random import randint, shuffle
x=randint(1,9)
y=randint(1,9)
z=0
options = [int(str(x) + str(y) + str(z)), int(str(x) + str(z) + str(y)),
int(str(y) + str(x) + str(z)), int(str(y) + str(z) + str(x))]
correct_answer = options[3]
shuffle(options)
print("Укажите число, в котором {:} единицы и {:} сотни.".format(x, y))
print("Варианты ответа:")
for i, option in enumerate(options):
print(f"{i+1}. {option}")
user_input = int(input("Введите нужное значение: "))
if user_input == correct_answer:
print("Верно!")
else:
print("Неверно. Попробуйте еще раз.")
你不需要“拉”任何东西
enumerate。enumerate本质上只是枚举值及其索引。但是无论值有一个索引enumerate,它只是值在列表中的位置。如果用户输入一个索引,在这个索引处从列表中获取一个值是没有问题的。如果您输入一个数字(索引 + 1),那么您只需要减去一个,然后使用生成的索引从列表中提取值。只需将从用户收到的数字转换为
int,减去 1(因为索引从 0 开始计数),然后根据收到的索引从列表中取出值options并与正确的值进行比较:结论: