Форум сайта python.su
Не понимаю как создать условие чтобы цифры не повторялись в числе.
def generate_number(): num = random.randint(1000,9999) print(num) generate_number()
Офлайн
vladimir_vl_vladЕсть много способов. Я бы выбрал shuffle
чтобы цифры не повторялись
Офлайн
import random out_data = [] while len(out_data) < 4: num = random.randint(0, 9) if len(out_data): if not num in out_data: out_data.append(num) else: if num: out_data.append(num) print(out_data)
print(int("".join([str(i) for i in [7, 9, 6, 5]])))
Отредактировано AD0DE412 (Авг. 7, 2021 15:57:40)
Офлайн
>>> import random >>> >>> def f(): ... digits_nine = list(range(1, 10)) ... digits_ten = list(range(10)) ... d1 = digits_nine.pop(random.randint(0, 8)) ... d2 = digits_ten.pop(random.randint(0, 9)) ... d3 = digits_ten.pop(random.randint(0, 8)) ... d4 = digits_ten.pop(random.randint(0, 7)) ... out = d1 * 1000 + d2 * 100 + d3 * 10 + d4 ... return out ... >>> for _ in range(10): ... f() ... 5910 4412 3542 3520 9280 2794 7134 7810 5318 3305 >>> for _ in range(10): ... f() ... 7475 9417 9574 2407 5359 7471 9403 2576 7208 1174 >>>
Отредактировано py.user.next (Авг. 8, 2021 00:39:25)
Офлайн