반응형
파이썬의 기본 문법을 이용하여 평균을 구하고 회문을 검사하는 코드를 작성하는 방법입니다. 플로이드 삼각형을 반복문을 써서 나타내는 방법에 대한 코드도 있습니다.
평균(mean) 점수 출력하기
sum()
함수를 사용해서 평균 점수를 출력.
In [1]:
math_scores = {"강백호": 20, "서탱웅":30, "송태섭":70, "정대만":50, "채치수":100}
print(sum(math_scores.values())/len(math_scores))
54.0
items() 사용 평균(mean) 출력하기
In [2]:
math_scores = {"강백호": 20, "서탱웅":30, "송태섭":70, "정대만":50, "채치수":100}
my_sum = 0
my_mean = 0
for k, v in math_scores.items():
my_sum += v
my_mean = my_sum / len(math_scores)
print(my_mean)
54.0
평균 함수 mean() 사용
In [3]:
import pandas as pd
math_scores = {"강백호": 20, "서탱웅":30, "송태섭":70, "정대만":50, "채치수":100}
my_list = list(math_scores.keys())
my_value = list(math_scores.values())
data = {"이름":my_list, "수학성적":my_value}
data
Out[3]:
{'이름': ['강백호', '서탱웅', '송태섭', '정대만', '채치수'], '수학성적': [20, 30, 70, 50, 100]}
In [4]:
df = pd.DataFrame(data)
df
Out[4]:
이름 | 수학성적 | |
---|---|---|
0 | 강백호 | 20 |
1 | 서탱웅 | 30 |
2 | 송태섭 | 70 |
3 | 정대만 | 50 |
4 | 채치수 | 100 |
In [5]:
df["수학성적"].mean()
Out[5]:
54.0
회문(Palindrome) 검사
level, madam과 같이 순서를 글자 단위로 뒤집었을 때도 동일한 단어들을 회문(palindrome)
- 입력받은 문자열이 회문인지 슬라이싱을 이용해서 검사
- range를 이용하여 검사
입력 | 출력 |
---|---|
level | True |
abc | False |
refer | True |
In [6]:
user_word = input("검사하고 싶은 단어를 입력하세요: ")
print(user_word == user_word[::-1])
검사하고 싶은 단어를 입력하세요: apple
False
In [7]:
user_word = input("검사하고 싶은 단어를 입력하세요: ")
print(user_word == user_word[::-1])
검사하고 싶은 단어를 입력하세요: level
True
In [8]:
user_word = input("검사하고 싶은 단어를 입력하세요: ")
word = ""
for i in range(len(user_word), 0, -1):
word += user_word[i - 1]
print(user_word == word)
검사하고 싶은 단어를 입력하세요: love
False
In [9]:
user_word = input("검사하고 싶은 단어를 입력하세요: ")
word = ""
for i in range(len(user_word), 0, -1):
word += user_word[i - 1]
print(user_word == word)
검사하고 싶은 단어를 입력하세요: 토마토
True
모든 아이템 값 바꿔주기
리스트 안에 리스트나 정수가 들어 있는 경우 모든 아이템의 값에 100 더하기 for 루프 안에서 리스트 아이템의 값을 바꾸기 위해 인덱싱 사용
예상 결과: [[101, 102, 103], 104]
In [10]:
my_list = [[1, 2, 3], 4]
for i in range(len(my_list)):
if isinstance(my_list[i], list):
for j in range(len(my_list[i])):
my_list[i][j] += 100
else:
my_list[i] += 100
my_list
Out[10]:
[[101, 102, 103], 104]
이번에는 리스트 안에 사전이 들어있는 경우입니다.
예상 결과: [[101, 102, 103], 104, {'A': 105, 'B': 106}]
In [11]:
my_list = [[1, 2, 3], 4, {"A":5, "B":6}]
for i in range(len(my_list)):
if isinstance(my_list[i], list):
for j in range(len(my_list[i])):
my_list[i][j] += 100
elif isinstance(my_list[i], dict):
for k in my_list[i].keys():
my_list[i][k] += 100
else:
my_list[i] += 100
my_list
Out[11]:
[[101, 102, 103], 104, {'A': 105, 'B': 106}]
종합소득세 계산하기
아래와 같은 세율표에 따라서 수입에 따라 내야 할 세금을 계산 예를 들어 수입이 30이라면 세금은
$30 \times 0.15 - 1.08 = 3.42$
과세표준 | 세율 | 누진공제 |
---|---|---|
12 이하 | 6% | |
46 이하 | 15% | 1.08 |
그 외 | 24% | 5.22 |
입출력
입력 | 출력 |
---|---|
12 | 0.72 |
30 | 3.42 |
46 | 5.819999999999999 |
50 | 6.78 |
In [14]:
my_income = int(input("수입을 숫자로 입력하세요: "))
tax = 0
if 0 < my_income <= 12:
tax = my_income * (6/100)
elif 12 <= my_income <= 46:
tax = my_income * (15/100) - 1.08
elif my_income > 46:
tax = my_income * (24/100) - 5.22
else :
tax = 0
print(f"납부할 세금은 {tax}입니다.")
수입을 숫자로 입력하세요: 8000
납부할 세금은 1914.78입니다.
플로이드의 삼각형
별찍기와 유사한 문제
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
In [15]:
rows = 5
num = 1
for i in range(1, rows + 1):
for j in range(num, num + i):
print(j, end=" ")
num += 1
print()
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
반응형
댓글