#문자길이가 50이하면 sms발송(50원부과)
#문자길이가 50초과면 mms발송(100원부과)
mesage = input('메세지 입력 : ')
lenght = len(mesage)
if lenght <= 50 :
print('sms발송')
print('메세지 길이 : {}'.format(lenght))
print('메세지 발송 요금 : 50원')
else :
print('mms발송')
print('메세지 길이 : {}'.format(lenght))
print('메세지 발송 요금 : 100원')
#국 영 수 과 국사 점수를 입력하면 총점, 평균, 편차를 출력하고 각종 편차데이터를 막대그래프로 시각화하라
#기존점수 - 국어 : 85 영어 : 82 수학 : 89 과학 : 75 국사 : 94
#국 영 수 과 국사 점수를 입력하면 총점, 평균, 편차를 출력하고 각종 편차데이터를 막대그래프로 시각화하라
#기존점수 - 국어 : 85 영어 : 82 수학 : 89 과학 : 75 국사 : 94
kor_ori = 85
eng_ori = 82
math_ori = 89
sci_ori = 75
his_ori = 94
sum_ori = kor_ori+eng_ori+math_ori+sci_ori+his_ori
avg_ori = int(sum_ori / 5)
kor = int(input('국어 점수 입력 : '))
eng = int(input('영어 점수 입력 : '))
math = int(input('수학 점수 입력 : '))
sci = int(input('과학 점수 입력 : '))
his = int(input('역사 점수 입력 : '))
score_sum = kor+eng+math+sci+his
score_avg = int(score_sum/5)
kor_sub = kor-kor_ori
eng_sub = eng-eng_ori
math_sub = math-math_ori
sci_sub = sci-sci_ori
his_sub = his-his_ori
sum_sub = sum_ori - score_sum
avg_sub = avg_ori - score_avg
print('총점 : {}({}), 평균 :{}({})'.format(score_sum,score_sum-sum_ori,score_avg,score_avg-avg_ori))
print('국어 : {}({}), 영어 : {}({}), 수학 : {}({}), 과학 : {}({}), 국사 : {}({})'
.format(kor,kor_sub,eng,eng_sub,math,math_sub,sci,sci_sub,his,his_sub))
print('-'*60)
sub_scores = {'국어편차' : kor_sub,'영어편차':eng_sub,'수학편차':math_sub,
'과학편차':sci_sub,'국사편차' : his_sub, '총점편차': sum_sub , '평균편차' : avg_sub}
for subject, score in sub_scores.items() :
if score > 0 :
dot = '+'
else :
dot = '-'
graph = dot * abs(score)
print('{} : {}({})'.format(subject,graph,score))
print('-'*60)
사용자로부터 문자 한 개를 입력 받고, 소문자일 경우 대문자로, 대문자 일 경우, 소문자로 변경해서 출력하라.
user = input('문자입력 : ')
if user.islower() :
print(upper(user))
else :
print(lower(user))
()의 문자가 소문자면 True 대문자면 False
소문자를 대분자로
대문자를 소문자로
사용자로부터 달러, 엔, 유로, 또는 위안 금액을 입력받은 후 이를 원으로 변환하는 프로그램을 작성하라.
각 통화별 환율은 다음과 같다.
사용자는 100 달러, 1000 엔, 13 유로, 100 위안과 같이 금액과 통화명 사이에 공백을 넣어 입력한다고 가정한다.
통화명 환율
달러 1167
엔 1.096
유로 1268
위안 171
currency_list = {'달러' : 1167, '엔' : 1.096, '유로' : 1268, '위안' : 171}
user = input('입력 : ')
num, currency = user.split()
print('{}원'.format(float(num) * currency_list[currency]))
문자열 나누기
()로 사용 시 공백문자로 나눠지고,
특정 문자로 나누고 싶을 때는 ()안에 특정문자를 넣으면 된다.
주민등록번호는 13자리로 구성되는데 마지막 자리수는 주민등록번호의 유효성을 체크하는데 사용된다.
먼저 앞에서부터 12자리의 숫자에 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5를 차례로 곱한 뒤 그 값을 전부 더한다.
연산 결과 값을 11로 나누면 나머지가 나오는데 11에서 나머지를 뺀 값이 주민등록번호의 마지막 번호가 된다.
num = input("주민등록번호: ")
계산1 = int(num[0]) * 2 + int(num[1]) * 3 + int(num[2]) * 4 + int(num[3]) * 5 + int(num[4]) * 6 + \
int(num[5]) * 7 + int(num[7]) * 8 + int(num[8]) * 9 + int(num[9]) * 2 + int(num[10])* 3 + \
int(num[11])* 4 + int(num[12]) * 5
계산2 = 11 - (계산1 % 11)
계산3 = str(계산2)
if num[-1] == 계산3:
print("유효한 주민등록번호입니다.")
else:
print("유효하지 않은 주민등록번호입니다.")
난수를 발생하면 사용자가 맞추는 게임을 만들어보자
import random
rnum = random.randint(1,1000)
try_game = 0
while True :
user = int(input('1에서 1000까지의 정수 입력 : '))
try_game += 1
if rnum < user :
print('난수가 더 작습니다.')
elif rnum > user :
print('난수가 더 큽니다.')
elif rnum == user :
print('빙고')
print('난수 : {}, 시도횟수 : {}'.format(rnum,try_game))
break
1부터 100까지 정수 중 십의자리와 일의자리에 대해 각각 홀/짝을 구분하는 프로그램
for i in range(1,101) :
if i < 10 :
if i % 2 == 0 :
print('[{}] : 짝수'.format(i))
else :
print('[{}] : 홀수'.format(i))
else :
ten = i // 10
one = i % 10
if ten % 2 == 0 :
ten_text = '짝수'
else :
ten_text = '홀수'
if one == 0 :
one_text = '0'
elif one % 2 == 0 :
one_text = '짝수'
else :
one_text = '홀수'
print('[{}] 십의자리 : {}, 일의자리 {}'.format(i,ten_text,one_text))
1부터 사용자가 입력한 정수까지의 합, 홀수의합, 짝수의 합 그리고 팩토리얼을 출력하는 프로그램
user = int(input('정수입력 : '))
sum_num = 0
sum_odd = 0
sum_even = 0
sum_fac = 1
for i in range(1,user+1) :
sum_num += i
sum_fac *= i
if i % 2 != 0 :
sum_odd += i
else :
sum_even += i
print('합 결과 : {}'.format(sum_num))
print('홀수 합 결과 : {}'.format(sum_odd))
print('짝수 합 결과 : {}'.format(sum_even))
print('팩토리얼 결과 : {}'.format(format(sum_fac,',')))
#버스 A B 오후 6시 첫차 23시 종료 버스C 6시 20분첫차 22시 종료
#A = 15분간격운행 B = 13분간격운행 C = 8분간격운행
#동시정차하는 시간구하기
# 총운행시간 6~23시 : 17시간 = 1020분
total_drive = 1020
bus_a = 15
bus_b = 13
bus_c = 8
for i in range(total_drive+1) :
if i < 20 or i > total_drive - 60 :
if i % bus_a == 0 and i % bus_b == 0 :
hour = 6 + i // 60
min = i % 60
print('busA busB 동시정차 {}:{}'.format(hour,min))
else :
if i % bus_a == 0 and i % bus_b == 0:
hour = 6 + i // 60
min = i % 60
print('busA busB 동시정차 {}:{}'.format(hour, min))
if i % bus_a == 0 and i % bus_c == 0:
hour = 6 + i // 60
min = i % 60
print('busA busC 동시정차 {}:{}'.format(hour, min))
if i % bus_b == 0 and i % bus_c == 0:
hour = 6 + i // 60
min = i % 60
print('busB busC 동시정차 {}:{}'.format(hour, min))
if i % bus_a == 0 and i % bus_b == 0 and i % bus_c == 0:
hour = 6 + i // 60
min = i % 60
print('busA busB busC 동시정차 {}:{}'.format(hour, min))