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. 해릭
    180709 감사합니다.
  2. Ji Yeoun Park
    2018.6.23 감사합니다.
  3. 네이놈
    문자나 문자열들을 리스트에 넣고 싶을때 ['egoing', 'k8805', 'leezche']에 직접 넣는것보다 list 메소드를 사용하는게 타자치기 편하더라구요.
    예시
    mbmbers = list('egoing,k8805,leezche'.split(','))

    결과는 같은데 타자치기엔 훨씬 편합니다.
  4. Junbeom Jeong
    20180617완료
  5. 2018.06.07 완!
  6. 나그네
    for문 안에 있는것은 다 반복되기때문.
    print('hello')
    print(item)
    이렇게 해보면 이해가 될찌도

    break 루프만 빠져 나가는것. exit()는 그 상태에서 그냥 종료
    대화보기
    • deepsleepagain
      완료!
    • Jaeduk Jang
      완료했습니다. 감사합니다.
    • 박홍욱
      3/23 컨테이너와 반복문3까지
    • 조민호
      궁금한게 있어 질문드립니다 for a in b 가있으면 b의 리스트를 반복될때마다 a 에 넣는거라고 하셨는데
      for item in [0,1,2,3,4,]
      print("hello") 인데 a에 변수에 넣었다면 item이란 문자에 들어갔을텐데 왜 hello를 쳤는데 hello가 반복되는건가요?
    • 파이썬에서 질문 드립니다.

      break 과 import sys
      sys.exit()

      의 차이가 무엇인지 궁금합니다.
    • 코딩잘하고싶어요 ㅎ
      저 같은 경우엔 루비파일을 터미널에서 실행하면 영어로 된 Array의 원소를 입력하면 정상적으로 작동하는데 한글로 된 Array의 원소를 입력할 경우에 오류가 나네요.
    • 다람쥐
      잘봤습니다.
    • Always
      for문 관련해서 몇가지 질문드립니다.
      1.for문도 반복문에 들어가는 건가요?(for문 = 반복문)
      2.for문 = 반복문 이 맞다면
      for a in b 에서 b가컨테이너라고 한다면 b에 들어잇는것들이 for문이반복적으로 실행되면서 하나씩 a안에 들어가는 건가요?(강의를 보면 결과적으로 b에 잇는 값들이 a에 다 들어가는것으로 보입니다.)
    • 성현아빠
      complete
    • 안녕하세요. 너무 잘 듣고 있습니다. 질문이 있어서 그런데...

      range로 리스트 만들려고 하는데... 0.5간격으로 만들어 보려고 했습니다.

      그런데 float과 integer 타입이 같이 있으니 계속 오류가 생기네요.

      c= list(range(0,10,0.5)

      이런식으로 만들려고 했는데... 너무 안되는데 궁금합니다. 매틀랩은 쉽게 됐던거 같은데... 타입이 참 어렵습니다.
    • 오 이게 훨씬 직관적이고 심플하네요!
      대화보기
      • 김태윤
        정말 감사합니다. 머리속에 쏙쏙 들어오네요.
      • Jongmin Han
        컨테이너와 반복문 3부터 이어보기
      • GoldPenguin
        완료했습니다!.
      • hello world~
        20170825
        컨테이너와 반복문 완료
        감사합니다~
      • J.Y.Oh
        정리가 잘 되었습니다. 감사합니다.
      • user1jena
        아아 in에서도 내부적으론 반복문이 사용되는거군요! 고맙습니다!
        대화보기
        • egoing
          좋은 코드 네요! 참고로 말씀하신 in도 내부적으론 반복문아
          이 사용되겠죠? ^^
          대화보기
          • user1jena
            #로그인 기능 만들어보기
            input_id = input('아이디 : ')
            real_id = ['ty','egoing','leezche','graphittie']
            if input_id in real_id:
            print ('Hello ' + input_id + '!')
            else:
            print ('Who are you?')

            이 경우에 굳이 반복문을 사용하지 않아도 위와 같이 작성하면 똑같은 결과가 나오는데 작동방식 외에 다른 점이 있을까요?? 들여쓰기는 했는데 댓글로 다니까 들여쓰기 표시가 안뜨네요...^^;;
          • 미림_likelion
            수강 완료했습니다. 감사합니다.
          • 테크넛
            오픈튜토리얼스 야학시즌에서 시작했다가 코딩야학에서 한 웹 애플리케이션은 안보고 파이썬 보는중 ㅎㅎ;;
          • 심화평
            곰돌이포(for) #곰돌이푸
            17-06-19 9:24 감사합니다!
          • 첨지
            감사합니다^^
          • 유맨킹
            감사합니다.
          • 나만의 부
            2017.04.18 감사합니다~
          • 멍한게이머
            저렇게 되면 로그인정보가 맞지 않아도 반복문을 한번 더 돌게되서 'who are you?'가 두 번 나옵니다.
            중간에 exit같은걸 놓아서 끊어주셔야되요
            대화보기
            • 권수형
              잘들었습니당
            • seeong2
              love the while&for combination
            • Philip Oh
              감사합니다:)
            • 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 배열의 인자 개수만큼 반복되서 나오지 않고요.
              배운걸로만 뭔가 해봤더니 기분이 앙 기모띠
            • 개념완성반
              아님의 코드는 잘못된 코드 입니다.
              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<
                버전 관리
                egoing
                현재 버전
                선택 버전
                graphittie 자세히 보기