[Python] 기초 문법 #2
and 와 or 같이 쓰기
if (age > 19 and age < 30) or (married == True and income < 100000000):
print("WeCode 은행의 전세대출 우대자 이십니다")
if (age > 19 and age < 30) or (married == True and income < 100000000):
print("WeCode 은행의 전세대출 우대자 이십니다")
가독성을 높이기 위해 ( )
괄호로 묶어준다.
Assignment
월(month)와 일(day), 이 2가지를 input 값으로 받았을때, 2020년의 해당 월과 일의 다음 날의 월과 일을 출력해주세요.
예를 들어, month 는 3이고 일은 31이면 2020년 3월 31일의 다음날은 4월 1일 임으로 다음과 같이 출력이 되면 됩니다 (월 과 일을 각각 다른 줄에 출력 해주세요).
4
1
month = int(input("월(month) 를 숫자로 입력해주세요: "))
day = int(input("일(day) 를 숫자로 입력해주세요: "))
## 아래 코드를 입력해주세요.
if month == 12 and day == 31:
month = 1
elif month == 2 and day == 29:
month = month
elif day == 31 or day == 30 or day == 29:
month += 1
if month == 2 and day == 29:
month += 1
day = 1
elif (month == 1 or 3 or 5 or 7 or 8 or 10 or 12) and (day == 31):
day = 1
elif (month == 4 or 6 or 9 or 11) and (day == 30):
day = 1
else:
day += 1
print(month)
print(day)
Nested If Statements (중첩 if 조건문)
2단계 이상 중첩을 하면 가독성이 너무 떨어지기 때문에 일반적으로 2단계 이상은 잘 하지 않는다. 대부분은 2단계도 잘 가지 않고 1단계 정도만 중첩한다.
25. Assignment
다음의 방정식을 해결하는 프로그램을 구현 하세요. x값을 구해야 합니다.
ax = b
결과 출력물은 다음과 같아야 합니다.
- Input 으로 주어진 a 와 b 값으로 위의 방정식을 충족하는 단 하나의 정수가 존재한다면 해당 정수를 출력하면 됩니다
- 만일 a 와 b 값으로 위의 방정식을 충족하는 정수가 없다면 "No Solution"을 출력해주세요.
- a 와 b 값으로 위의 방정식을 충족하는 정수가 많다면 "Many Solutions"을 출력해주세요.
Hint: a
나 b
는 0 이될 수 있습니다.
🔹 a가 0이고 b가 0인 경우
0 * ? = 0
방정식을 충족하는 정수는 무수히 많다. ("Many Solutions")
🔹 a가 0이고 b가 0이 아닌 경우
0 * ? = 3
방정식을 충족하는 정수가 없다. ("No Solution")
🔹 b를 a로 나눴을 때 나머지가 0인 경우
b % a == 0
방정식을 충족하는 단 하나의 정수가 존재한다.
🔹 b를 a로 나눴을 때 나머지가 0이 아닌 경우
방정식을 충족하는 정수가 없다. ("No Solution")
a = int(input("첫 번째 숫자를 입력해주세요: "))
b = int(input("두 번째 숫자를 입력해주세요: "))
## 아래 코드를 작성해주세요.
if a == 0:
if b == 0:
print("Many Solutions")
else:
print("No Solution")
elif b % a == 0:
print(b // a)
else:
print("No Solution")
Comments (주석)
#
를 줄마다 사용하여 주석을 삽입하는 방식이 일반적
주석은 최소한으로 사용하는 게 좋다.
주석이 필요 없을 정도로 가독성이 높은 코드를 작성 하는 게 최고다.
Function
input은 parameter
라고 한다.
output은 return 값
이라고 한다.
input parameter를 받아서 return값을 output으로 리턴한다.
입력값(parameter)과 결괏값(return값)이 반드시 존재하는 건 아니다.
입력값이 없는 함수도 있을 수 있고 결괏값이 없는 함수도 있을 수 있다.
리스트의 수정과 삭제
더하기 기호 +
를 사용하여 list 들을 합한 값을 다시 저장하고자 하는 변수에 지정해주어야 한다.
list1 = list1 + list2
+
를 사용하면 기존의 list가 수정되지 않고 기존의 list와 다른 새로운 list가 생성되기 때문이다.
리스트 슬라이싱
slicing은 오리지널 list를 수정하는 게 아니라, 새로운 list를 만들어 낸다.
39. Assignment (리스트 요소 지우기)
Input으로 주어진 리스트에서 홀수는 전부 지우고 짝수만 남은 리스트를 리턴해주세요.
리스트의 요소들은 전부 숫자값이고 총 요소 수는 5개 입니다.
앞에서부터 지우면 리스트 요소들의 순서가 계속 바뀌기 때문에
뒤에서부터 삭제해 나가면 된다.
👇 del 함수 사용
def remove_odd_numbers(numbers):
## 이 함수를 구현해주세요
if numbers[4] % 2 == 1:
del numbers[4]
if numbers[3] % 2 == 1:
del numbers[3]
if numbers[2] % 2 == 1:
del numbers[2]
if numbers[1] % 2 == 1:
del numbers[1]
if numbers[0] % 2 == 1:
del numbers[0]
return numbers
👇 또는 remove 함수 사용
def remove_odd_numbers(numbers):
if numbers[4] % 2 == 1:
numbers.remove(numbers[4])
if numbers[3] % 2 == 1:
numbers.remove(numbers[3])
if numbers[2] % 2 == 1:
numbers.remove(numbers[2])
if numbers[1] % 2 == 1:
numbers.remove(numbers[1])
if numbers[0] % 2 == 1:
numbers.remove(numbers[0])
return numbers
Author And Source
이 문제에 관하여([Python] 기초 문법 #2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@banana/Python-기초-문법-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)