Задача с модулем random в Python
Не получается сделать генератор случайных чисел, в котором две цифры будут теми, которые я указал. Мне нужно, чтобы программа вывела 4 варианта ответов (например: 650, 605, 560 и 506), а пользователь выбрал верный вариант (605). Если вариант пользователя верен, то всё хорошо, если нет, то я напишу другой вариант кода. Проблема заключается в том, что я не могу вывести эти 4 варианта ответов и сравнить их с нужным мне вариантом (который заранее был выбран программой (605).
x=6
y=5
z=0
number= #тут уже должно получаться 4 варианта из порядка первых 3 переменных. Я перепробовал разные варианты, но не выходит то, что мне нужно)
Одним предложением можно сказать, что я хочу написать программу, как (Укажите число, в котором 6 единиц и 5 сотен. Варианты ответа: 650, 605, 560, 506)
Ответы (2 шт):
import random
x = 6
y = 5
z = 0
# Создаем список из всех возможных комбинаций цифр x, y и z
options = [int(str(x) + str(y) + str(z)), int(str(x) + str(z) + str(y)), int(str(y) + str(x) + str(z)), int(str(z) + str(x) + str(y))]
# Перемешиваем список в случайном порядке
random.shuffle(options)
# Выводим варианты ответов
print("Укажите число, в котором 6 единиц и 5 сотен.")
print("Варианты ответа:")
for i, option in enumerate(options):
print(f"{i+1}. {option}")
# Записываем правильный ответ (605) в отдельную переменную
correct_answer = 605
# Получаем ответ от пользователя
user_input = int(input("Выберите верный вариант: "))
# Проверяем ответ пользователя
if user_input == correct_answer:
print("Верно!")
else:
print("Неверно. Попробуйте еще раз.")
import itertools
x = 6
y = 5
z = 0
# создадим множество
number = set()
# перебираем различные вариации с помощью itertools.permutations, можете прочитать про него
for i in itertools.permutations(str(x) + str(y) + str(z)):
# переводим кортежи в строку
a = ''.join(i)
# число не может начинаться с нуля
if a[0] != '0':
# добавляем в наш список
number.add(int(a))
print(number)
Я предлагаю использовать set(), для того чтобы, например, комбинация x=4 y=4 z=5 не давала одинаковых значений, если это не нужно, то используйте обычный список number = []