2012-08-22 2 views
0

이 문제를 해결하기 위해 노력하고 있습니다. 내가 입력 한 숫자 3을 선택한다면, 예를 들어, 나는 다음 무작위로 1과 10입력이있는 임의의 정수를 여러 개 선택하십시오.

+1

컴퓨터가 정말 난수를 생성 할 수 없습니다 유의하십시오. _pseudo-random_ 번호라고 불리는 것을 생성 할 수 있습니다. http://docs.python.org/library/random.html 및 http://en.wikipedia.org/wiki/Random_number_generation을 읽어보십시오. 'random' 모듈에 의해 생성 된 숫자가 적합한 경우 응용 프로그램에 따라 다릅니다. –

+0

숫자가 고유해야합니까? 또한 지금까지 코드를 가지고 있습니까? – georg

+0

무엇을 시도 했습니까? 시도를 게시하면 (최소한이지만), 다른 사람들을 올바르게 안내하는 데 도움이됩니다. –

답변

-1

뭔가 ...

In [84]: user_input = raw_input("Enter a number between 1 to 5 :") 
Enter a number between 1 to 5 :3 

In [85]: selected_elem = [] 

In [86]: while len(selected_elem) < int(user_input): 
    ....:   random_elem = random.randrange(1, 10, 1) 
    ....:   if random_elem not in selected_elem: 
    ....:     selected_elem.append(random_elem) 
    ....: 

In [87]: print selected_elem 
[1, 2, 4] 
0
import random 
random.seed() 
a = 1 
b = 10 
randList = [] 
for x in range(3): 
    # random integer N such that a <= N <= b 
    randList.append(random.randint(a, b)) 

또는 더 나은 사이의 숫자의 범주에서 3 개 개의 숫자를 선택합니다 입력 1과 5 사이의 숫자를 싶습니다 아직 :

일할 수있는 이런 종류의
import random 
random.seed() 
a = 1 
b = 10 
randList = [random.randint(a,b) for x in range(3)] 
+0

아마도 난수 생성기를 먼저'seed()'하고 싶을 것이다. –

0
myrands = [rand_int(1,10) for x in range(0,int(raw_input()))] 

myrands 전 1과 10 사이의 난수 목록, 길이는 사용자 입력에 의해 결정됩니다.

0

간단한 방법 :

from random import choice 
list_of_numbers = range(11)[1:] # the 1: drops the zero 
choice(list_of_numbers) # picks a random number from the list 
+0

정보를 위해서 ... 범위 뒤에서 목록을 자르는 대신'list_of_numbers = range (1,11)'할 수도 있습니다. – avasal

+0

Nice! 나는 결코 전에'선택 '을 사용하지 않았습니다. 벨트에 좋은 추가. – Aesthete

관련 문제