파이썬 난수 발생 하나만 발생하는데 3개 발생하게 하고 싶은데 뭐가 틀렸나요

조회수 538회
import random
a = random.randrange(1,101)
def print_rand(n):
    for i in range(3):
        a = random.randrange(1,101)
print_rand(3)
print(f'{a}')
  • 7번째 라인을 잘라서 5번째 라인 밑에 (5번째 라인과 같은 들여쓰기로) 넣어보세요. 엽토군 2022.5.10 17:22
  • 함수 밖에서 출력시켜야하는데 밖에서 하는건 아예 안 되나요? 서정은 2022.5.10 17:25
  • 되죠. 그러자면 그 함수는 return을 해야 되겠고 그 함수 사용할 때 그 return을 받아서 활용해야겠죠. 엽토군 2022.5.10 17:30

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    문제는 return을 어떻게 시켜서 그걸 어떻게 받아 활용할 거냐 하는 부분인데... 질문자님의 파이썬 학습진도를 잘 모른 채로 그냥 막 짜보자면:

    import random
    
    # 숫자 n을 받으면 1부터 101 사이의 숫자를 n번 뽑아서 그 목록을 반환한다
    def get_randoms(n):
        return list(map(lambda x: random.randrange(1, 101), range(n)))
    
    # 3개 아니라 17개라도 발생시킬 수 있음
    r3 = get_randoms(3)
    print(r3)
    r17 = get_randoms(17)
    print(r17)
    

    PS. "뭐가 틀렸나" 하는 질문 자체에만 답을 드리자면, 질문자님이 짜셨던 print_rand 함수는:

    1. 아무것도 프린트하지 않는데 "print_어쩌구"라는 이름으로 되어 있고
    2. n을 인자로 받는데 막상 그걸 활용하지는 않는다는

    부분이 옳지 않습니다.

    • 제 수준에는 너무 높은 코드인거 같아요ㅠ 더 쉽게 안될까요?ㅠ lambada 서정은 2022.5.10 17:53
    • 실행오류뜨는데요ㅜㅜㅜㅜㅜㅜㅜ 서정은 2022.5.10 19:50
    • 수정했습니다. 코드가 "너무 높은" 수준이었던 문제는 해결되셨나요? 엽토군 2022.5.11 01:50

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)