Оператор print в цикле for выполняется только один раз - PullRequest
0 голосов
/ 30 июня 2009

Я учу себя питону. Я думал о небольших программах, и у меня появилась идея создать генератор чисел кено. Для тех, кто не знает, вы можете выбрать 4-12 номеров в диапазоне 1-80, чтобы соответствовать. Итак, первая часть спрашивает, сколько чисел, вторая генерирует их. Я придумал

x = raw_input('How many numbers do you want to play?')
for i in x:
   random.randrange(1,81)
print i

Что не работает, печатает x. Поэтому мне интересно, как лучше это сделать. Сделать функцию random.randrange? И как я могу назвать это х раз на основе пользовательского ввода.

Как всегда, заранее спасибо за помощь

1 Ответ

5 голосов
/ 30 июня 2009

Это должно делать то, что вы хотите:

x = raw_input('How many numbers do you want to play?')
for i in xrange(int(x)):
   print random.randrange(1,81)

В Python имеет значение отступ. Это способ узнать, когда вы находитесь в определенном блоке кода. Таким образом, в основном мы используем функцию xrange, чтобы создать диапазон для обхода (мы вызываем int для x, потому что она ожидает целое число, а raw_input возвращает строку). Затем мы печатаем возвращаемое значение randrange внутри блока for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...