[Python Bootcamp] Day5

Yul·2024년 9월 23일

Python Bootcamp

목록 보기
6/7
post-thumbnail

1. 배운 것

  • for (variable) in [list] :

    • list 안에 있는 item들을 하나씩 꺼내서 list의 끝 item까지 반복으로 실행하는 것

    • max valure by for

      student_scores = [150, 142, 185, 120, 171, 184, 149, 24, 59, 68, 199, 78, 65, 89, 86, 55, 91, 64, 89]
      #max함수처럼 최대값 print하기
      max=student_scores[0]
      for score in student_scores:
          if max>=score :
              max=max
      else:
              max=score
      print(max)
  • range함수

    • range 함수 하나만으로는 아무 기능하지 않음
    • range(a,b,step)으로 b의 바로 전 숫자까지 나옴.

2. 프로젝트 : 비밀번호 생성기

  • 내가 만든 Hard.ver

    #Hard Ver.
    n=0
    pw=""
    for n in range(1,nr_letters+1):
        a = random.choice(letters)
        pw+=a
    for n in range(1,nr_symbols+1):
        b = random.choice(symbols)
        pw+=b
    for n in range(1,nr_numbers+1):
        c = random.choice(numbers)
        pw+=c
    print(pw)
    pw2=random.sample(pw,k=len(pw))
    print(pw2)
    print(f"Your password is : {pw2}")
    • 리스트를 마지막 문자열에 넣는 방법을 몰라서 아예 처음부터 빈 문자열인 pw를 만들고 시작함
    • random.choice를 이용하여 임의로 문자를 뽑아내어 +=를 통해 문자열 추가를 함.
    • random.sample을 이용하였고 len(pw)를 통해 전체 글자를 섞는 방법을 진행.
  • 솔루션 Hard.ver

    # Hard level
    password_list = []
    for char in range(0, nr_letters):
        password_list.append(random.choice(letters))
    for char in range(0, nr_symbols):
        password_list.append(random.choice(symbols))
    for char in range(0, nr_numbers):
        password_list.append(random.choice(numbers))
    print(password_list)
    random.shuffle(password_list)
    print(password_list)
    password = ""
    for char in password_list:
        password += char
    print(f"Your password is: {password}")
    • 문자가 아닌, 빈 리스트인 password_list를 생성
    • random.choice로 임의의 문자를 뽑아내어, 각 문다를 .append를 이용하여 문자 하나하나를 리스트에 추가함
    • random.shuffle을 이용하여 리스트에서 셔플함. 이때, random.shuffle(자기자신)이어야 함.
    • 셔플된 리스트에서 for문을 통해 문자 하나씩 추출해서 붙임
profile
이것저것 공부하는 중

0개의 댓글