2014-04-05 7 views
-1

Я пытаюсь отобразить 6 случайных чисел с помощью следующего кода Python:Дисплей 6 Случайные Целые

#!"E:/PortablePython3.2.5.1/App/python.exe" 

import random 

print("Content-Type: text/html\n\n") 

for k in range(6): 
    r = random.randint(1, 75) 

print("Winning Lotto Numbers: ", r) 

я могу получить один случайное целое, чтобы показать, но у меня возникают проблемы с отображением remaing 5.

+0

'r' только когда-либо имена * один * число .. и это переназначенная 6 раз * до * он всегда отображается один раз. – user2864740

+0

Вы повторно используете 'r' в' for-loop'. Вы можете написать 'print (« Win ... ») в' for-loop'. –

ответ

0

Проблема в том, что на каждой итерации вы ничего не печатаете. Вы просто назначаете значения r. Если вы хотите напечатать случайное число в каждой итерации, то print() вызов должен быть внутриfor петля:

for k in range(6): 
    r = random.randint(1, 75) 
    print("Winning Lotto Numbers: ", r) 

Примечания:

  • Вы можете уменьшить свой код путем печати номера напрямую (без присвоения его переменной):

    for k in range(6): 
        print("Winning Lotto Numbers: ", random.randint(1, 75)) 
    

Edit:

Для отображения "Победа Лото номера:" только один раз, вы можете сделать:

print("Winning Lotto Numbers: ") 

for k in range(6): 
    print(random.randint(1, 75), end = ' ') 
+0

Это работает, но также отображается «Winning Lotto Numbers:» 6 раз. Мысли? – CoPoPHP

+0

@CoPoPHP см. Edit. – Christian

0

Я предполагаю, что вам нужно создать список из 6 случайных чисел и отображать их. Используйте list comprehension так:

nums = [random.randint(1, 75) for i in range(6)] 
print "Winning Lotto numbers: %s" % ",".join([str(i) for i in nums]) 
+0

Для в этом случае я бы порекомендовал понимание списка. Но обратите внимание, что с точки зрения ремонтопригодности намного сложнее написать все это (в цикле и еще много чего) –

Смежные вопросы