본문 바로가기
프로그래밍/파이썬기초

파이썬 리스트에서 랜덤으로 항목 뽑기(random.randint) 로또 번호 출력하기

by 조크리 2023. 10. 9.
반응형

 

이번 글에서는 리스트의 다양한 항목 중

랜덤으로 한 개의 항목을 출력하는 예제들을 모아보았습니다.

랜덤으로 출력하기 때문에

random.randint() 함수가 사용되고

리스트의 항목들을 쭉 살펴봐야 하기 때문에

for반복문과 if 조건문이 사용됩니다.

 

 
 


목차

     

     

    1. 랜덤으로 로또 번호 6개 생성하여 리스트에 추가하기

     

    첫 번째 예제는 랜덤으로 로또 번호를 생성해서

    빈 리스트에 추가하는 것입니다.

     

     

     

    import random
    
    lotto = []
    
    for i in range(6):
      lotto.append(random.randint(0,45))
    
    print("로또 당첨 번호: {}".format(lotto))

     

    실행시켜 볼까요?

    append(random.randint(0,45)) 

    를 사용해서 랜덤 숫자를 뽑습니다. 

    이 과정을 6번 반복해줍니다. 

    그럼 로또 당첨 번호 6개가 나옵니다!

     

    2. 로또번호 수동으로 뽑고, 컴퓨터가 뽑은 숫자와 비교하기

     

    두 번째 예제도 로또 번호 뽑기 입니다.

    my_num이라는 리스트에는 내가 수동으로 숫자를 6개 뽑습니다.

    lotto라는 리스트에는 자동으로 숫자를 6개 뽑습니다. 

    import random
    
    my_num = []
    lotto = []
    
    #for반복문으로 수동으로 숫자 뽑기
    for i in range(6):
      number = int(input("0~45중 숫자 하나를 선택하세요: "))
      my_num.append(number)
    print("내가 택한 번호: {}".format(my_num))
    
    #for반복문으로 자동으로 숫자 뽑기
    for i in range(6):
      lotto.append(random.randint(0,45))
    print("로또 당첨 번호: {}".format(lotto))

    실행시켜 보겠습니다.

    처음에는 내가 수동으로 숫자를 6개 뽑습니다.

    6개를 다 적고 나면 내가 택한 번호가 리스트로 출력되고

    자동으로 뽑힌 번호도 6개가 나옵니다. 

     

     

    3. 매점 음료수 추천 프로그램

     

    세 번째 예제는 매점 음료수 추천 프로그램 만들기 입니다.

     

    menus = ['밀키스', '콜라', '사이다', '제로콜라']


    메뉴 중 추천 음료수를 한 가지 랜덤으로 선택해보세요.

     

    이렇게 menus라는 리스트가 있고 그 안에 있는 항목 중 한 가지를 랜덤으로 출력해보겠습니다.

    import random
    menus = ['밀키스', '콜라', '사이다', '제로콜라']
    
    #음료수 종류 출력
    print("음료수: ")
    #for반복문으로 메뉴에 있는 항목 모두 출력
    for i in range(len(menus)):
      print(menus[i])
    #i라는 변수에 랜덤 숫자 저장
    i = random.randint(0,len(menus)-1)
    
    print("추천 음료수: ", menus[i])

    실행시켜보겠습니다.

    메뉴판이 출력되고, 추천 음료수 이름이 랜덤으로 출력됩니다. 

    실행시킬 때마다 다른 음료수가 나오는 것을 볼 수 있습니다. 

     

    4. 메뉴판에서 랜덤으로 메뉴와 가격 뽑기

     

    네 번째 예제는 메뉴판에서 랜덤으로 메뉴와 가격을 출력하는 것입니다. 

     

    아래처럼 메뉴 리스트가 있고, 메뉴 리스트와 대응하는 가격 리스트가 있습니다. 

    menus = ['떡볶이', '순대', '치킨', '주먹밥', '튀김', '라면']
    prices = [2500, 3000, 5000, 1500, 2000, 2500]

    이제 랜덤으로 추천 메뉴 이름과 가격을 출력해 보겠습니다. 

     

    import random
    
    #메뉴와 가격 리스트를 각각 만들고 출력하기
    menus = ['떡볶이', '순대', '치킨', '주먹밥', '튀김', '라면']
    prices = [2500, 3000, 5000, 1500, 2000, 2500]
    
    print("메뉴판: \n")
    
    for i in range(len(menus)):
      print(menus[i], prices[i])
    
    #메뉴 중에서 랜덤으로 메뉴를 뽑기
    i = random.randint(0, len(menus)-1)
    
    print("\n 추천 메뉴는 {}이며 가격은 {}원입니다.".format(menus[i], prices[i]))

     

    코드를 실행시켜 보겠습니다. 

    메뉴판이 출력되고

    아래에 추천메뉴의 이름과 가격이 출력됩니다.

    추천 메뉴는 실행시킬때마다 다르게 출력됩니다. 

     

    5. 메뉴판에서 랜덤으로 메뉴 3개 뽑기

     

    다섯 번째 예제는 메뉴판에서 랜덤으로 3개의 메뉴를 출력하는 것입니다. 

    3개의 메뉴를 뽑는 것은

    random.sample()

    함수를 사용해볼 것입니다.

    random.sample(리스트이름, 개수)를 작성하면

    해당 리스트에서 개수만큼 항목이 뽑힙니다. 

     

    import random
    
    #메뉴와 가격 리스트를 각각 만들고 출력하기
    menus = ['떡볶이', '순대', '치킨', '주먹밥', '튀김', '라면']
    prices = [2500, 3000, 5000, 1500, 2000, 2500]
    
    print("메뉴판: \n")
    
    for i in range(len(menus)):
      print(menus[i], prices[i])
    
    #메뉴 중에서 랜덤으로 3개 메뉴를 뽑기
    my_menu = random.sample(menus, 3)
    print('\n', my_menu)

     

    한 번 실행시켜 보겠습니다.

    메뉴 3개가 출력되었습니다. 

     

    이제 이 메뉴들의 가격까지 출력시켜 보겠습니다.

    튀김: 2000

    순대: 3000

    라면: 2500

    이 출력되어야 겠죠!

     

    여기서는 for반복문이 활용됩니다.

    정확히 말하면 for반복문 안의 for반복문이죠!

    우선 my_menu에 있는 i번째 항목들을 돌립니다.

    그리고 menus에 있는 j번째 항목도 돌립니다.

    만약 my_menu에 i번째 항목이 menus의 j번째 항목과 이름이 같다면

    그때 menus의 j번째 항목과 prices의 j번째 항목을 출력하면 됩니다. 

     

    아래의 코드는 위의 코드와 합쳐서 사용하면 됩니다. 

    #for반복문을 이용해서 3개의 메뉴를 메뉴명:가격으로 나타내기
    for i in range(len(my_menu)):
      for j in range(len(menus)):
        if my_menu[i] == menus[j]:
          print("{}: {}".format(menus[j], prices[j]))

    실행시켜보겠습니다.

    잘 작동되네요!

     

    이번 글에서는 for반복문, 리스트, random함수 등을 종합적으로 사용해서 만든

    재미있는 예제들을 살펴보았습니다. 

    이를 활용해 더 다양한 예제들을 만들어 보세요. 

    반응형