Q.

[Python] Let's python 3장 예제

yul_S2 2022. 10. 31. 18:00
반응형

문제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"
반응형