[Python기초]for문 연습2

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!


파이썬 for 연습문제 2


문제1: 숫자 10개를 입력받아 양수, 음수, 0의 개수를 출력해보자!


이전에 풀어왔던 문제들과 크게 다를게 없지만, for문을 사용하기 전에 양수, 음수, 0의 개수를 저장해줄 수 있는 변수를 미리 만들어 주는 것이 중요한 문제이다.


  • 출력 예시:

    숫자1입력 : -3
    숫자2입력 : 0
    숫자3입력 : 0
    숫자4입력 : 8
    숫자5입력 : 3
    숫자6입력 : -4
    숫자7입력 : 0
    숫자8입력 : -6
    숫자9입력 : -1
    숫자10입력 : 7
    ****
    양의 개수 : 3
    음의 개수 : 4
    0의 개수 : 3


plus, minus, zero = 0, 0, 0

# 양수와 음수와 0의 개수를 저장하기 위한 변수들을 만들어 준다.   
# 파이썬은 저렇게 변수 3가지와 값 3가지를 동시에 지정할 수도 있다.
for i in range(1, 11):
    num = int(input('숫자%d입력 : ' % i))
    if num > 0:
        plus += 1
    elif num < 0:
        minus += 1
    elif num == 0:
        zero += 1

# for문을 작성해준다.
# i는 반복할 횟수이며 계산식에 쓰일 정수로 볼 수 있다. 
# in 뒤에는 range(x,y)와 같은 길이나 리스트가 들어갈 수 있다.
# range(1, 11)은 1부터 시작해서,  11에서 1을 빼준 10까지 동작을 반복하라는 것을 정해주는 것이다.
# 개수를 세기 위한 정수를 num에 받아준다.
# 포매팅한 %d에는 i가 반복적으로 들어가 숫자1입력, 숫자2입력 ... 숫자10입력 까지 나와주게 만든다.
# 입력받은 num이 0보다 크면 plus, 작으면 minus, 같으면 zero가 하나씩 늘어나게 한다.
# 여기서 'x += 1' 연산자는 'x = x+1'과 같다. 
print('---------------')
print('양의 개수 : %d' % plus)
print('음의 개수 : %d' % minus)
print('0의 개수 : %d' % zero)
# 각 변수에 저장된 값을 출력해준다.

이렇게 변수에 0을 대입해서 for문 내에서 1씩 증가하게 하여 원하는 갯수를 구하는 문제를 간단히 풀어볼 수 있다.
뒤에 배울 내용에서도 자주 사용할 일이 있을거라고 추측되기에 까먹지말고 잘 기억해놔야겠다.
자 이제 정수 10가지를 다양하게 입력해보자! 다음과 같이 출력될 것이다.

    숫자1입력 : 1
    숫자2입력 : 0
    숫자3입력 : -1
    숫자4입력 : -2
    숫자5입력 : 2
    숫자6입력 : 0
    숫자7입력 : 3
    숫자8입력 : -3
    숫자9입력 : 0
    숫자10입력 : 0
    ---------------
    양의 개수 : 3
    음의 개수 : 3
    0의 개수 : 4







문제2: 참석자 명단에 있는 사람인지 확인해보자!


오늘은 굿전의 발표회가 있는 날이다.

스파이더맨, 닥터스트레인지, 손흥민, 황희찬 등 다양한 유명인사가 참석하기로 예정이 되어있는데 초대받은 자만 입장할 수 있다.
for문을 작성할 때 in 뒤의 범위에는 리스트도 작성할 수 있다고 for문 연습에 적어놨었다. 드디어 그것을 활용할 순간이 왔다.

  • 출력 예시:

    names = [‘베토벤’, ‘홍길동, ‘변학도’, ‘아쿠아맨’]
    이름 입력 : 베토벤
    명단에 있어요. 환영합니다.
    이름 입력 : 고블린
    명단에 없어요. 초대받지 못하셨네요.

names = ['스파이더맨', '닥터스트레인지', '손흥민', '황희찬']
search_name = input('이름 입력 : ')
# names라는 명단은 초대받은 유명인사들의 이름이 적힌 리스트다. 
# search_name 변수에 이름을 입력받기위해 input을 사용한다.
for name in names:
    if search_name == name:
        find = True
        break
    else:
        find = False

# name은 반복할 변수로 유명인사 명단 names 리스트를 순서대로 확인할 것이다.
# 입력받은 search_nmae 변수와 name 변수가 같다면 찾았다는 것을 알려주는 find 변수에 논리형 True가 적용되게 한다.
# 그렇지 않다면(else) find는 거짓(False)가 되어 초대받지 못한 사람인 것을 알려준다.

# 여기서 주의해야할 점! break 함수를 반드시 적어줘야한다. 그렇지 않다면 찾고 나서도 for문이 마지막 인자까지 반복되기 때문에 찾지 참석인원을 찾아도 False로 지정해버린다.
# break문을 적지 않는다면 해당 리스트의 마지막에 위치한 '황희찬' 만이 True로 인식된다.
if find: # if문 자체가 트루
    print('명단에 있어요. 환영합니다.')
else:
    print('명단에 없어요. 초대받지 못하셨네요.')
# 이제 if문을 활용해 조건을 따져준다.
# if문 자체에는 True가 적용되어 있어 find라는 변수만 적어줘도 해당 조건에 적절하다면 True가 적용된다.

초대받은 자와 초대받지 못한 자에게 날릴 멘트를 출력할 수 있게 되었다. 이제 결과를 확인해 보자.

우선 우리 흥민이형이 왔을까?

    이름 입력 : 손흥민
    명단에 있어요. 환영합니다.

무사히 참석해주셨다.
엇.. 전동준이 발표회에 왔는데 .. 명단에 있었나?

    이름 입력 : 전동준
    명단에 없어요. 초대받지 못하셨네요.

2022

[web]jQuery 복습 3

2 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

16 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

9 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

2 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑