[Python] Let's python 3장 예제
문제1-1)
항공사에는 짐을 부칠 때, 10kg 이상이면 수수료 10,000원을 내야한다. #짐무게 = a / 수수료 = b
만약 10kg 미만이면 수수료는 없다. 사용자의 짐의 무게를 키보드로 입력받아서 사용자가 지불하여야 할 금액을 계산
a=int(input("짐의 무게는얼마입니까?"))
if a >= 10 :
print("수수료는 10,000원 입니다.")
else : # else는 조건식 없다
print("수수료는 없습니다.")
짐의 무게는얼마입니까?
>?
입력하면 조건문에 만족하는 결과값이 나온다.
- else는 조건식이 없다.
문제1-2)
항공사에는 짐을 부칠 때, 10kg 이상부터 수수료를 내야한다. 수수료는 10의 배수 단위로 10,000원씩 증가한다. 만약 10kg 미만이면 수수료는 없다. 사용자의 짐의 무게를 키보드로 입력받아서 사용자가 지불하여야 할 금액을 계산
a = 0
price = (a // 10) * 10000
a=int(input("짐의 무게는 얼마입니까?"))
if a >= 10 :
price = (a // 10) * 10000
print("수수료는" + format(price,'0.d')+"입니다.")
else :
print("수수료는 없습니다.")
짐의 무게는얼마입니까?
>?
입력하면 조건문에 만족하는 결과값이 나온다.
- 수수료는 10의 배수 단위로 10,000원씩 증가한다. 10으로 나눈몫*10000 : 10으로 나눈몫*10000 >> price = (a//10)*10000
- f'수수료는 {price:,d}원 입니다.
문제2) while 반복문
1~10사이의 난수가 발생될 때 사용자가 예상되는 숫자를 키보드를 입력한 경우 일치하면 '~~성공~~'메시지출력,반복탈출
만약 사용자가 입력한 수가 난수보다 더 크면 '더 작은 수 입력' 메시지 출력, 반복계속.
사용자가 입력한 수가 난수보다 작으면 '더 큰 수 입력'메시지출력, 반복 계속
import random
num = random.random()
while True :
num=int(input("숫자입력 : "))
com=random.randint(1,10)
if 1 < num < 10 :
print("~~성공~~")
break
elif num > 10 :
print("더 작은 수 입력")
elif num < 1 :
print("더 큰 수 입력")
숫자입력 :
>?
문제3) for반복문
1~100사이에서 3의 배수이면서 2의 배수가 아닌 수를 한 줄에 출력하고, 누적합을 출력 하시오.
num = 0
tot = 0
for num in range (1,101) :
if num %3==0 and num %2!=0 :
print(num,end=' ') #3의 배수이면서 2의 배수가 아닌 수를 한 줄에 출력
tot += num
print("\n누적합=%d"%tot) #누적합
# <출력>
# 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87 93 99
# 누적합=867
- end=" "
이 옵션의 경우 print 문을 이용해 출력을 완료한 뒤의 내용을 수정할 수 있다. 기본 값으로는 개행(\n)이 들어가 있으며 이를 사용해 개행을 없애거나 원하는 문자를 입력할 수 있다.
문제4) 중첩 반복문
multiline 의 문자열 객체를 이용하여 단어를 추출하고 단어의 개수를 출력하시오
multiline="""안녕하세요. 파이썬 세계에 오신걸
환영합니다.
파이썬은 비단뱀 처럼 매력적인 언어입니다."""
multiline = """안녕하세요. 파이썬 세계에 오신걸
환영합니다.
파이썬은 비단뱀 처럼 매력적인 언어입니다."""
sent=[]
word=[]
for a in multiline.split(sep="\n") : # 줄단위문장분리 함수 sep="\n"
sent.append(a) # 순서대로 sent 변수에 추가
for b in a.split():
word.append(b) # 단어 추출
print(b) # 빠지면 단어수만 추출되어서 넣어줘야함
print ("단어수:", len(word))
- 줄단위문장분리 함수 sep="\n"