2017-02-03 7 views
-2

У меня есть while цикл, который генерирует число между 1-10, 10 раз:конвертировать в то время как для понимания

n=0 
while n < 11: 
    n=n+1 
    num = random.randint(1,10) 
    print(num) 

Я хочу, чтобы преобразовать это в Python3 понимания в одном операторе.

как я могу это сделать?

+5

Я не вижу _list_ нигде. Почему именно вы хотели бы превратить это в понимание списка? – miradulo

ответ

5

Этого список постижение сохраняет весь случайный Интс в список под названием ranNums

ranNums = [random.randint(1,10) for i in range(11)] 
print(ranNums) 
+2

Отлично, спасибо. Я не уверен, почему люди тебя заворачивают. Я принимаю, когда смогу. – Jshee

+2

Я тоже не уверен. Доводка совершенно хорошего ответа требует большего количества оборотов: противоположный эффект. Кроме того: 'i' может быть' _', потому что он не используется. –

+0

@ Jean-FrançoisFabre благодарит, любое повышение производительности говорит, что max был огромным числом или просто вопросом лучшего соглашения? – Jshee

2

Не использовать список понимание процессуальных вызовов, поскольку это создает расточительный список None.

Однако, если вы на самом деле хотите сохранить результаты (и не только print них), а затем перейти на Python 3.6 и вы можете использовать random.choices:

import random 
random.choices(range(11),k=11) 

Это как random.sample, но с заменой.