Python & Ruby

컨테이너와 반복문

컨테이너와 반복문의 만남

Python

members = ['egoing', 'leezche', 'graphittie']
i = 0
while i < len(members):
    print(members[i])
    i = i + 1

Ruby

members = ['egoing', 'leezche', 'graphittie']
i = 0
while i < members.length do
    puts(members[i])
    i = i + 1
end

실행결과

egoing
leezche
graphittie

Python | Ruby

달콤한 for문의 등장

Python

members = ['egoing', 'leezche', 'graphittie']
for member in members:
    print(member)

Ruby

members = ['egoing', 'leezche', 'graphittie']
for member in members do
    puts(member)
end

실행결과

egoing
leezche
graphitti

Python | Ruby

for문의 활용

Python

for item in range(5, 11):
    print(item)

Ruby

for item in (5..10) do
  puts(item)
end

실행결과

5
6
7
8
9
10

Python | Ruby

 로그인 애플리케이션에 투입

Python

input_id = input("아이디를 입력해주세요.\n")
members = ['egoing', 'k8805', 'leezche']
for member in members:
    if member == input_id:
        print('Hello!, '+member)
        import sys
        sys.exit()
print('Who are you?')

Ruby

puts("아이디를 입력해주세요")
input_id = gets.chomp()
members = ['egoing', 'k8805', 'leezche']
for member in members do
    if member == input_id
        puts('Hello!, '+member)
        exit
    end
end
puts('Who are you?')

실행결과

입력 값에 따라서 달라요~ 

Python | Ruby

참고

github 

댓글

댓글 본문
작성자
비밀번호
  1. Philip Oh
    감사합니다:)
  2. park
    puts("id를 입력하세요 \n")
    input_id = gets.chomp()

    members = ['egoing', 'k8805']
    i=0

    for member in members do
    if member == input_id
    puts('Hellow, '+member)
    exit
    else
    i=i+1
    if i == members.length
    puts("who are you?")
    end
    end
    end
    이렇게 했더니 member의 두번째나 세번째 인자로 로그인을 해도 'who are you?' 가 뜨지 않네요
    잘못된 아이디를 입력해도 'who are you?' 가 members 배열의 인자 개수만큼 반복되서 나오지 않고요.
    배운걸로만 뭔가 해봤더니 기분이 앙 기모띠
  3. 개념완성반
    아님의 코드는 잘못된 코드 입니다.
    members에 2개가 있어서 두번 나오는 겁니다.
    3개가 있으면 세번 나오겠죠
    이유인즉 for문이 처음 돌때 if문이 false이기 때문에 else인 who are you를 찍어주고
    다시 for문이 돕니다. 그럼 두번째 역시 if문에서 false이기 때문에 who are you가 나오는 겁니다.
    for문이 끝나고 난 다음에 who are you를 찍어줘야 합니다.
    대화보기
    • 로그인 정보가 잘못되었을 경우 'who are you'가 출력되도록 할때 저는 else를 써서

      input_id = input("ID를 입력해주세요.\n")
      # real_egoing = "11"
      # real_k8805 = "ab"
      members = ['egoing', 'k8805']
      for member in members:
      if member == input_id:
      print('Hello World ' + member)
      else
      print ('Who are you?')

      위와 같이 만들어 봤는데, 'Who are you?'가 2번 실행되더라고요 ㅠ
      for in 문에 들어가 있어서 그런걸까요? else를 이용해서 1번만 실행되게 하는 법은 없을까요?
    • 2017.01.03 새해에도 잘 부탁드립니다.
    • blackswan
      고맙습니다!
    • Youngjun Lee
      input_id = input("아이디를 입력해주세요.\n")
      members = ['egoing', 'k8805', 'leezche']
      # if input_id not in members:
      # print("Who are you?")
      for member in members:
      if member == input_id:
      print('Hello!, '+member)

      #부분을 추가해서 같은 결과를 내는 것을 하게 되었는데
      이런 경우에서는 계산량이 혹시 2배로 늘어나게 되는 것인가요???
    • 이주현
      member 는 members의 원소이기 때문에 1만 나오는거같네요
      리스트의 이름은 members니까 크기를 출력하고 싶다면 print(len(members))라고 해야되지않을까요?
      대화보기
      • Juyeon Lee
        위의 로그인 애플리케이션에서 각각의 아이디에 따른 비밀번호까지 확인 후,
        로그인을 진행시키려면 어떤 코드를 추가하면 되나요?
        각 아이디 값에 따른 비밀번호를 일괄적으로 확인할 수 있나요??

        egoing_pwd = 1234,
        k8805_pwd = 2345,
        leezche_pwd = 3456 으로 가정했을 때요.

        고수님들, 도와주세요-

        in_str = input("Enter your ID.\n")
        members = ['egging', 'k8805', 'leezche']
        for member in members:
        ㅤㅤif member == in_str:
        ㅤㅤㅤㅤprint("Hello, "+member)
        ㅤㅤㅤㅤimport.sys
        ㅤㅤㅤㅤsys.exit()
        print("Please check your ID.")
      • 우욱진
        루비 미안해~ㅎ 감사합니다!
      • khs2744
        고맙습니다.
        잘 배우겠습니다.
      • 반복문&컨테이너
        어렵게 생각했던 조건문, 리스트,배열,반복문을 이렇게 재밌게 공부한건 첨이네요
        빠르게 마스터 하고 웹서비스를 만들고 싶네요ㅎㅎ
      • 김혜성
        감사합니다!
      • JustStudy
        고맙습니다
      • 까미
        print('hello '+member)
        print('hello ',member)

        의 차이점이뭔가요?
      • 바이러민씨
        쏙쏙 들어오게, 친절하게 가르쳐주셔서 너무 감사합니다 ~ 멋진 목소리 덕분에 집중이 더 잘돼요 >o<
      • 김병훈
        members = ['egoing', 'leezche', 'graphittie', 'k8805']
        i = 0
        while i < members.length do
        puts(members[i])
        i = i + 1
        end

        puts(members.length)

        저는 이 코드를 이용해서 실행해봤는데 4라고 나오네요.
        대화보기
        • 이선영
          members =['a','b','c']

          for member in members:
          print(member)
          print(len(member))

          member에는 값을 저장하지 않는건가요? 마지막에 memver의 크기를 출력하고 싶은데 1만 나오네요 ??
        • 구묵
          항상 너무 재밌게 보고 있습니다~
        • Song Hyo Jin
          루비에서 원소의 개수(?) 를 .length 로 소개해주셔서 알게되었는데
          저는 이것을 실제로 확인하고 싶어서 puts(members.length) 코드를 작성해 실행해 보았습니다만..
          에러가 나는군요.. Array 의 원소의 개수를 puts, print 함수등으로 확인하는게 원래 불가한건가요?
        • 검사무운
          잘 봤습니다.
        • 조병준
          Mac 유저분들을 위한 아톰 키보드 쇼트컷 입니다. 주석 처리 하시려면 (커맨드 + 슬래쉬(/)) 누르시면 되요. 자세한 쇼트컷은 여기서 참조 하세요~ https://bugsnag.com......eet
        • JunTaek Hong
          잘 봤습니다.
          Atom 상에서 파일을 우클릭 이후 팝업 메뉴의 아랫쪽에 있는
          Copy Full Path
          를 사용하면 탐색기를 사용하여 파일에 접근 후 속성창을 여는 방법보다
          더 빠르게 파일 전체의 경로를 얻을 수 있습니다.
        • Frank
          잘 봤습니다.
          영상이 많아 조금 시간이 걸렸네요. ^^
          짬짬이 보는것이라.
          최고의 강의입니다. for 문에서 가슴이 찌릿했습니다.
          난 무식하게 코딩하고 있었구나. if , else ...
        버전 관리
        egoing
        현재 버전
        선택 버전
        graphittie 자세히 보기