Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » Нужна функция, генерирующая четырехзначное число, все цифры которого различны, а первая цифра отлична от нуля [RSS Feed]

#1 Авг. 7, 2021 03:28:39

vladimir_vl_vlad
Зарегистрирован: 2021-07-16
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна функция, генерирующая четырехзначное число, все цифры которого различны, а первая цифра отлична от нуля

Не понимаю как создать условие чтобы цифры не повторялись в числе.

 def generate_number():
    num = random.randint(1000,9999)
    print(num)
generate_number()

Офлайн

#2 Авг. 7, 2021 08:18:46

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Нужна функция, генерирующая четырехзначное число, все цифры которого различны, а первая цифра отлична от нуля

vladimir_vl_vlad
чтобы цифры не повторялись
Есть много способов. Я бы выбрал shuffle



Офлайн

#3 Авг. 7, 2021 15:53:17

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Нужна функция, генерирующая четырехзначное число, все цифры которого различны, а первая цифра отлична от нуля

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



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Авг. 7, 2021 15:57:40)

Офлайн

#4 Авг. 8, 2021 00:38:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Нужна функция, генерирующая четырехзначное число, все цифры которого различны, а первая цифра отлична от нуля

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

Офлайн

  • Начало
  • » Центр помощи
  • » Нужна функция, генерирующая четырехзначное число, все цифры которого различны, а первая цифра отлична от нуля[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version