2013-06-30 3 views
0

나는 주사위를 100 번 반복하는 프로그램을 만들고 있습니다. 이제 프로그램에서 제공하는 난수 출력을 정렬하려고합니다. 어떻게해야합니까? 당신이 할Python : 목록에서 임의의 숫자를 정렬하는 방법

import random 

def roll() : 
    print('The computer will now simulate the roll of a dice 100 times') 
    list1 = print([random.randint(1,6) for _ in range(100)]) 

roll() 

답변

3

하지 목록을 가지고있다. print() 함수는 None을 반환합니다. 터미널이나 IDE로 방금 인쇄 한 것이 아닙니다.

스토어 임의의 값, 다음 인쇄 :

이제
list1 = [random.randint(1,6) for _ in range(100)] 
print(list1) 

그냥 목록을 정렬 할 수 있습니다 :

list1 = [random.randint(1,6) for _ in range(100)] 
list1.sort() 
print(list1) 
+0

지침에 따라 프로그램을 실행하면 무작위로 인쇄됩니다. 숫자가 표시되지만 '없음'이 인쇄되고 정렬 된 목록이 표시되지 않습니다. 이 문제를 어떻게 해결해야합니까? –

+1

'return list1'을 사용하여'roll()'함수에서리스트를 반환합니다. –

+1

''list1.sort()'호출을 * 인쇄 *하지 않는다면,리스트를 정렬 할 때'None'을 리턴합니다 *. –

0

원래 목록이 필요하지 않은 경우 :

list1.sort() 

원래 목록이 필요한 경우 :

list2 = sorted(list1) 

참조 python.org : 위의 문제는 다음과 같이 루프에 대한 를 사용하여 해결할 수 있습니다 http://wiki.python.org/moin/HowTo/Sorting/

1

-

>>> import random 

>>> mylist = [] 

>>> for i in range(100): 
     mylist.append(random.randint(1,6)) 


>>> print(mylist) 

목록을 정렬하려면, 다음 명령을 발행 -

>>> sortedlist = [] 
>>> sortedlist = sorted(mylist) 
>>> print(sortedlist) 
관련 문제