Найти - Пользователи
Полная версия: Прошу помощи в работе кода
Начало » Python для новичков » Прошу помощи в работе кода
1
Djonny
Я - новичок. Новичок от слова совсем. Изучаю Python.
Прошу помощи в работе кода.
Код выдает рандомные числа в заданном диапазоне. При совпадение выданного числа с заданным ( в примере число 15) выводит сообщение и останавливается.
Приложенный код работает , но в выдаваемых числах число 15 проскакивает.
Что не так? Прошу помощи спецов.
Вот код:
 import random
def do():
    r = random.randint(1, 20)
    return r
          
while do() != 15:
    print (do())
    do()    
else:
    print ('Число найдено!')
Вот один из результатов работы кода:
 11
5
15    
5
20
1
11
18
Число найдено!
>>>
 
py.user.next
Djonny
Что не так?
При каждом вызове do() генерируется новое число. На каждом шаге цикла выполняется три вызова do().
Djonny
py.user.next
При каждом вызове do() генерируется новое число. На каждом шаге цикла выполняется три вызова do().

Так будет правильней?
 import random
def do():
    r = random.randint(1, 20)
    return r
#i = do()
          
while do() != 15:
    i = do()
    
    print (i)
    
else:
    print ('Число найдено!')

Для меня важно сейчас понять, как код работает
py.user.next
  
>>> import random
>>> 
>>> def do():
...     r = random.randint(1, 20)
...     return r
... 
>>> res = do()
>>> while res != 15:
...     print(res)
...     res = do()
... else:
...     print('Число найдено!')
... 
4
10
12
6
12
18
16
8
Число найдено!
>>>
ZerG
Или в более разжованном виде что бы ну совсем уже было очевидно!
 import random
status = True
def rnd():
    return random.randint(10, 20)
count = 0
while status:
    chislo = rnd()
    if chislo != 15 or count == 20:
        count += 1
        print(chislo)
    else:
        status = False
        print('Число найдено! ', chislo)
Djonny
Огромное всем спасибо, разобрался
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB