1. a라는 이름의 리스트를 생성. 숫자 1,2,3,4,5로 초기화해서 생성하시오.
2. a의 요소를 하나씩 출력
3. a의 인덱스가 2인 요소의 값을 13으로 변경하시오.
4. a의 요소 중 짝수만 출력
5. a의 인덱스가 2인 요소를 삭제하시오.
6. 이름이 b인 2줄 3칸 리스트 생성.
7. 0번줄의 2번방 요소를 10으로 변경하고 출력
8. b의 요소를 0번 줄은 [1,2,3], 1번 줄은 [4,5,6]로 변경
9. b의 모든 요소 출력

 

#1. a라는 이름의 리스트를 생성. 숫자 1,2,3,4,5로 초기화해서 생성하시오.
#내 풀이
a=[1,2,3,4,5]


#sol2
a=[1]*5
for i in range(0, 5):
	a[i] = i+1
    
    
   
#sol3
a=[]
for i in range(1, 6):
	a.append(i)
    
    
#sol4
c=[1,2,3,4,5]
a=list(c)

 

#2. a의 요소를 하나씩 출력
for i in range(0, len(a)):
	print(a[i], end=' ')
    
    
    
#2-2.
for i in a:
	print(i, end=' ')
    
    

out)

1 2 3 4 5

 

 

#3.a의 인덱스가 2인 요소의 값을 13으로 변경하시오.

a[2] = 13

out)

[1, 2, 13, 4, 5]

 

#4. a의 요소 중 짝수만 출력
for i in range(0, len(a)):
    if a[i] %2 == 0:
        print(a[i], end=' ')



#4-1.
for i in a:
    if i%2 == 0:
        print(i, end=' ')

out)

2 4 

 

 

#5. a의 인덱스가 2인 요소를 삭제하시오.
del a[2]

out)

[1, 2, 4, 5]

 

 

#6.이름이 b인 2줄 3칸 리스트 생성.

#so1. b[[0,0,0],[0,0,0]]
b=[[0]*3, [0]*3]
print(b)


#sol2.
b=[0]*2
for i in range(0, len(b)):
    b[i]=[0]*3
print(b)

 

 

#7. 0번줄의 2번방 요소를 10으로 변경하고 출력
b[0][2] = 10
print(b)

out)

[[0, 0, 10], [0, 0, 0]]

 

 

 

#8.b의 요소를 0번 줄은 [1,2,3], 1번 줄은 [4,5,6]로 변경
c=1
for i in range(0, len(b)):
    for j in range(0, len(b[i])):
        b[i][j] = c
        c += 1
    print(b)

out)

[[1, 2, 3], [4, 5, 6]]

 

 

#9.b의 모든 요소 출력
for i in b:
    for j in i:
        print(j, end=' ')
    print()

out)

1 2 3 
4 5 6 

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python # set  (0) 2021.06.03
python #list(3)  (0) 2021.06.03
python #연습문제  (0) 2021.06.02
python #연습문제  (0) 2021.06.02
python #list (2)  (0) 2021.06.02

Q. <성적처리 프로그램>

   3명의 번호, 국어, 영어, 수학 점수를 입력받아 각 학생의 총점, 평균을 계산해서 결과를 출력하라.

   ex) 번호 국어 영어 수학 총점 평균
        1     98    89    87   257   80
        2     98    89    87   257   80 
        3     98    89    87   257   80

 

score = [[0]*6,[0]*6,[0]*6]
title = ['번호', '국어', '영어', '수학', '총점', '평균']


'''
score[0][0] = int(input('번호'))
score[0][1] = int(input('국어'))
score[0][2] = int(input('영어'))
score[0][3] = int(input('수학'))
'''

for i in range(0,3):
    for j in range(0, 4):
       score[i][j]=int(input(title[j]))

for i in range(0,3):
    for j in range(1,4):  #person[0][4] = person[0][1]+person[0][2]+person[0][3]
        score[i][4] += score[i][j]
        score[i][5] = score[i][4] / 3

for i in title:
    print(i, end='\t')     #print('번호\t국어\t영어\t수학\t총점\t평균')
print()

for i in range(0, len(score)):
    for j in range(0, len(score[i])):
        print(score[i][j], end='\t')
    print()



out)

 

 

알고리즘 훈련이 코딩을 짜는데 확실히 도움이 된다!

3개의 리스트를 동시에 만드는 것이 힘들어서 1개짜리로 출력하는 것을 먼저 진행하고 나니 이해도가 빨랐다.

 

 

 

Q. 한 사람의 번호, 국, 영, 수 점수를 입력받아 총점, 평균

person = [0]*6
title = ['번호', '국어', '영어', '수학', '총점', '평균']

for i in range(0,4):
    score[i]=int(input(title[i]))

for i in range(1,4):
    person[4]+=person[i] # person[0][4] = person[0][1]+person[0][2]+person[0][3]

person[5]= person[4] /3

for i in title:
    print(i, end='\t')     #print('번호\t국어\t영어\t수학\t총점\t평균')

for i in person:
    print(i, end='\t')
print()

out)

번호 국어 영어 수학 총점 평균
1     95   65    48    208   69.33333333333333

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #list(3)  (0) 2021.06.03
python #test  (0) 2021.06.03
python #연습문제  (0) 2021.06.02
python #list (2)  (0) 2021.06.02
python #list  (0) 2021.06.02

Q. 리스트에 5개의 숫자를 입력받아서 저장 후, 최댓값 최솟값 출력

'''
1.최댓값, 최솟값 출력
max=첫요소  #가장 큰값 담을 변수
max의 값과 각 방의 값을 비교해서 현재 max 값보다 큰 값이면 바로 max할당
'''



a=[]
for i in range(0, 5):
    a.append(int(input('num:')))

max = a[0]
min = a[0]
for i in a:
    if max < i:
        max = i
    elif min > i:
        min = i
print("max:", max,'min:', min)

out

 

 

#1-1. max, min과 함께 인덱스도!
a=[]
for i in range(0, 5):
    a.append(int(input('num:')))

max = a[0]   #첫 요소 할당(초기 기준값). 현재까지 가장 큰 값 저장.
max_idx = -1
min = a[0]
min_idx = -1
for idx, i in enumerate(a):
    if max < i:   #max보다 더 큰 값을 만나면 max를 그 값으로 교체
        max = i
        max_idx=idx
    if min > i:
        min = i
        min_idx=idx
print('최댓값:', max, '/', '최댓값의 위치:', max_idx)
print('최솟값:', min, '/', '최솟값의 위치:', min_idx)

out

 

 

Q. 찾고싶은 값 입력받아서 그 값의 위치 출력, 없을시 없다고 출력

#sol1
a=[]
for i in range(0, 5):
    a.append(int(input('num:')))

s_num = int(input('검색할 숫자:'))
for i in range(0, len(a)):
    if a[i] == s_num:
        print('찾았습니다.: 위치',i)

if a[i] != s_num:
    print('not found')




# sol2
a=[]
for i in range(0, 5):
    a.append(int(input('num:')))

s_num = int(input('검색할 숫자:'))
for idx, i in enumerate(a):
    if s_num == i:
        print('찾았습니다.: 위치',idx)
        break
if s_num != i:
    print('not found')

out)

 

 

 

#2-2. 순차탐색
#sol1
s_num = int(input('검색할 숫자:'))
flag = True    #찾았나 표시. 못찾앗을때 true.
for idx, i in enumerate(a):
    if s_num == i:
        print(idx,' 방에 있음')
        flag = False
        break
if flag==True:
    print('not found')

위의 예제는 공부한 후 다시 보기   

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #test  (0) 2021.06.03
python #연습문제  (0) 2021.06.02
python #list (2)  (0) 2021.06.02
python #list  (0) 2021.06.02
python #피카츄게임?  (0) 2021.06.01
리스트도 요소를 변경할 수 있다!

 

a=[1,2,3,4,5]
print(a)

a[2]=30  #인덱스 수정
print(a)

del a[2]  #인덱스 삭제
print(a)

del a[1:3]  #범위로 삭제(1~2)
print(a)

a.remove(1)  #값을 찾아서 삭제. 없는 값이면 에러
             #만약 a.remove(10)  #10은 없는 값이라 에러
print(a)

out)

[1, 2, 3, 4, 5]
[1, 2, 30, 4, 5]
[1, 2, 4, 5]
[1, 5]
[5]
a=[1,2,3,4,5]
a.remove(10)  #10은 없는 값이라 에러
print(a)

out)

ValueError: list.remove(x): x not in list

 

 


b=[2,7,4,5,3]
list.sort(b)    #정렬
print(b)

out)

[2, 3, 4, 5, 7]

 

 

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #연습문제  (0) 2021.06.02
python #연습문제  (0) 2021.06.02
python #list  (0) 2021.06.02
python #피카츄게임?  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
list 복습!

 

메모리에 데이터를 할당(저장)하는 방법은 2가지가 있다.

1. 변수

2. 리스트

변수는 지금 껏 직접 변수명과 값을 입력해주어야 했다. 하지만 입력해야할 변수들이 100개라면 변수명을 일일히 나열할 수는 없을 것이다. 그래서 사용하는 것이 리스트!

 

 

b=[1, 2, 3, 4, 5]

print(b[0])
print(b[1])
print(b[2])
print(b[3])
print(b[4])

out)

1
2
3
4
5

리스트는 위의 예제처럼 칸을 여러개로 나누어 여러개의 변수를 담는 호텔이라고 생각하면 된다.

리스트의 앞에서부터 우리는 0호, 1호, 2호, 3호 ... 이런 식으로 이름을 붙일 것이다.

즉, b= [1, 2, 3, 4, 5] 에서 0호의 값은 1, 1호의 값은 2, 4호의 값은 5가 된다.

리스트를 이용해 변수 값을 잡는 것이 훨씬 수훨해졌다.

 

 

그럼 리스트를 좀 더 간략하게 해보자.

b=[0,1,2,3,4] 를 for i in range(0, 5) 로 나타낼 수 있다.

#range(시작, 끝값, 간격)
for i in range(0,5):     # [0,1,2,3,4]
    print(i)
    

out)

0
1
2
3
4

 

 

즉, 다시 정리하면 list는 집합 데이터를 효율적으로 사용할 수 있다.

예를 들어 100개의 점수들의 합을 구할 때, 리스트를 사용하지 않는 다면

 

s1 = 90

s2=80

s3=70

s100=80

 

이라고 직접 변수의 이름과 값들을 잡아서

 

sum = s1 +s2+ s3+ … +s100

 

을 진행해야하지만

 

 

리스트 사용 한다면 (for을 같이 사용하는게 좋겠쥬?)

 

score = [89,67,5,34,65,78,34,....80]

for i in score:

sum += i

 

 

로 간단하게 끝낼 수 있다.

 

list의 크기

리스트의 크기란 방의 개수라고 생각하자.

a=[1,2,3] #리스트 크기: 방의 개수. , a의 크기는 3
b=['', '', '','라']
c=[12.24, 34.45]
d=[True, True, False]

 

 

 

list의 요소

리스트에 저장된 값 하나하나를 요소라고 한다.

a=[1,2,3]에서 요소는 1, 2, 3 이다 (수학적으로 얘기하면 원소!)

 

또한, 하나의 리스트에 다양한 타입의 값을 담을 수 있다.

(다른 언어에는 타입 제약이 있음.

int a = 10 이라고하면 a는 무조건 int값만 들어갈 수 있지만
파이썬에서는 a =10, a= 'asdf' 라고 해도 문제가 안생긴다.)

 

a=[1,2,3]
print(a[0])  #리스트의 0번방 값 출력
print(a[1])
print(a[2])


print()


for i in range(0, 3):    #위의 에제를 좀 더 간단히
    print(a[i])


print()


for i in a:
    print(i)   #더 간단히!!

out) 모든 결과가

1
2
3

 

 

 

list의 index

index는 방 번호라고 생각하자!

a=[1,2,3]에서 0번 인덱스의 요소는 1, 1번 인덱스의 요소는 2, 2번 인덱스의 요소는 3.

또는

a[0] = 1

a[1] = 2

a[2] = 3 

이라고 할 수 있다.

*참고로 인덱스는 0번부터 시작한다. (앞서 리스트의 방 번호는 0번부터 시작이라고 했었음)

 

만약

print(a[3])

를 한다면 에러가 뜬다. 범위 밖의 인덱스이기 때문에 없는 방에 대한 접근이다.

(현재 a는 방이 0~2호까지만 존재)

 

 

파이썬에서는 인덱스 추가가 불가능. (C에서는 가능)

 

그래서
a.append(4)   #방을 확장. 리모델링 한것! 확장한 방에 값 저장.

 



#빈 리스트 생성
e = []
f = list()     #리스트 함수로 생성

 

e = []
f = list() 

e.append('aaa')    #빈 리스트에 aaa라는 문자열 추가
f.append('bbb')

print(e)
print(f)

out)

['aaa']
['bbb']

 

 

 

b=['aaa','bbb','ccc']
print('b의 길이:', len(b))   #len: 길이

print(len('asdfㄹㅇㄴㄹㅇ'))



for i in range(0, len(b)):
    print(b[i], end=',')     #인덱스로 접근




for i in b:                 #요소로 접근
    print(i, end=',')
    
    

out)

b의 길이: 3
9

aaa,bbb,ccc,

aaa,bbb,ccc,

 

 

Q. 숫자 10개를 입력받아서 리스트에 저장한 뒤 출력하라.

 

#sol1

data=[0]*10  #리스트를 0으로 초기화한 방 10칸 생성
for i in range(0,len(data)):
    data[i] = int(input('num:'))

for i in data:
    print(i, end=' ')



#sol2 

data2=[]
for i in range(0,10):
    data2.append(int(input('num:')))
print(data2)

out)

num:1
num:4
num:6
num:9
num:3
num:5
num:4
num:9
num:7
num:52
1 4 6 9 3 5 4 9 7 52 

 

 

 

Q. 5명 학생의 점수를 입력받아 총점과 평균을 출력하라.

 

#sol1
data3=[]
sum = 0
for i in range(0, 5):
    data3.append(int(input('점수를 입력하시오:')))
for i in data3:
    sum += i
avg = sum/5
print('총점:', sum, '평균:', avg)




#sol2

data3=[0]*5         # data=[0,0,0,0,0]
sum = 0
for i in range(0, 5):
    data3[i] = int(input('점수'))
    sum += data3[i]
avg = sum / 5
print('총점:', sum, '평균:', avg)




#sum함수 사용하면

data3=[]
for i in range(0, 5):
    data3.append(int(input('점수를 입력하시오:')))
s = sum(data3)               
avg = s/5
print('총점:', s, '평균:', avg)


out)

점수를 입력하시오:20
점수를 입력하시오:64
점수를 입력하시오:68
점수를 입력하시오:12
점수를 입력하시오:97
총점: 261 평균: 52.2

 

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #연습문제  (0) 2021.06.02
python #list (2)  (0) 2021.06.02
python #피카츄게임?  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #반복문 : while, for  (0) 2021.06.01
'''
피카츄게임

변수(상태값)
hp(에너지상태) : 0이면 죽음. 초기값 30
exp(경험치) : 0
lv (경험치 20마다 레벨 1 증가) 1

기능(함수로 구현)
밥먹기
잠자기
운동하기
놀기
종료
'''

hp = 30
exp = 0
lv = 1

while True:
    menu = int(input('1.밥먹기 2.잠자기 3.놀기. 4.운동하기. 5.종료'))
    if menu == 1:
        print('피카츄가 밥먹는다')    #hp 5증가
        hp += 5
        print('Lv:', lv, 'HP:', hp, 'EXP:', exp)
    elif menu == 2:
        print('피카츄가 잠잔다')      #hp 10증가
        hp += 10
        print('Lv:', lv, 'HP:', hp, 'EXP:', exp)
    elif menu == 3:
        print('피카츄가 논다')      #hp 5감소, exp 7증가. hp감소(죽었나?). exp증가(레벨업체크)
        hp -= 5
        exp += 7
        if hp <=0:
            print('피카츄가 죽었습니다')
            break
        if hp>0 and exp >=20:
            lv += 1
            exp -= exp
            print('레벨업! Lv', lv)
        print('Lv:', lv, 'HP:', hp, 'EXP:', exp)
    elif menu == 4:
        print('피카츄가 운동한다')    #hp 15감소, exp 15증가
        hp -= 15
        if hp <=0:
            print('피카츄가 죽었습니다')
            break
        exp += 15
        if hp>0 and exp >=20:
            lv += 1
            exp -= exp
            print('레벨업! Lv', lv)
        print('Lv:', lv, 'HP:', hp, 'EXP:', exp)
    elif menu == 5:
        print('종료')
        break

print('게임종료')

out)

1.밥먹기 2.잠자기 3.놀기. 4.운동하기. 5.종료 3
피카츄가 논다
Lv: 1 HP: 25 EXP: 7

1.밥먹기 2.잠자기 3.놀기. 4.운동하기. 5.종료 2
피카츄가 잠잔다
Lv: 1 HP: 35 EXP: 7

1.밥먹기 2.잠자기 3.놀기. 4.운동하기. 5.종료 4
피카츄가 운동한다
레벨업! Lv 2
Lv: 2 HP: 20 EXP: 0

1.밥먹기 2.잠자기 3.놀기. 4.운동하기. 5.종료 4
피카츄가 운동한다
Lv: 2 HP: 5 EXP: 15

1.밥먹기 2.잠자기 3.놀기. 4.운동하기. 5.종료 3
피카츄가 논다
피카츄가 죽었습니다

게임종료​

휴... 처음 코딩을 짰을 때는 피카츄가 죽었는데 레벨업을 했다.

영면의 삶.......저승으로 돌아가거라 피카츄...

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #list (2)  (0) 2021.06.02
python #list  (0) 2021.06.02
python #연습문제  (0) 2021.06.01
python #반복문 : while, for  (0) 2021.06.01
python #연습문제  (0) 2021.06.01

Q. 1~100까지의 합을 구하여라.


i=1    #카운팅 변수
sum=0   #누적 변수
while i<=100:
    sum += i
    i += 1
print('sum:', sum)

out)

sum: 5050

 

Q. 1~100까지의 짝수만 출력하라.

#sol1 
i=1
while i<=100:
    if i%2==0:
        print(i, end='\t')
    i += 1

print()


#sol2
i=2
while i<=100:
    if i%2==0:
        print(i, end='\t')
    i += 2

out)

2	4	6	8	10	12	14	16	18	20	22	24	26	28	30	32	34	36	38	40	42	44	46	48	50	52	54	56	58	60	62	64	66	68	70	72	74	76	78	80	82	84	86	88	90	92	94	96	98	100	

 

 

Q. 구구단의 단수를 입력받아 3단을 출력하라.

a=int(input('구구단을 셀 숫자를 입력하시오:'))
i = 1    #곱하는 숫자

while i < 10:
    print(a, '*', i, '=', a*i)
    i +=1

print()

out)

구구단을 셀 숫자를 입력하시오:3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27

 

 

Q. 약수를 구하여라.

 

x= int(input('약수를 구할 숫자를 입력하시오:'))
i = 1

while i <= x:
    if x%i == 0:
        print(i, ',', end = '')
    i += 1

out)

약수를 구할 숫자를 입력하시오:6
1 ,2 ,3 ,6 ,

 

 

Q. 1~100사이의 소수(약수가 1과 자신밖에 없는 수)

 

 

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #list  (0) 2021.06.02
python #피카츄게임?  (0) 2021.06.01
python #반복문 : while, for  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #제어문 (if, if-else, if - elif - elif - else)  (0) 2021.06.01
while

 

지정된 조건이나 작업을 반목해야하는 경우 매번 구문을 사용하기에는 꽤나 불편이 있다.

작업을 반복적으로 수행하는 구문을 반복문이라고 하고 파이썬에서는 for 문과 while문을 이용해 구현한다.

 

a=5
while a>0:
    print(a)
    a -=1

print('while밖')

out)

5
4
3
2
1
while밖

 

 

 

a = 1
while a <11:
    print(a)
    a += 1

out)

1
2
3
4
5
6
7
8
9
10

 

 

업카운팅과 다운카운팅

 

i=3
while i>0:
    print('#', end='')
    i -= 1       # 다운카운팅으로 # 3개 출력




i=1
while i<4:
	 print('#', end='')
     i += 1       # 업카운팅으로 # 3개 출력

out) 두 코딩 모두 같은 결과를 출력

###

위 처럼 while문을 이용해 업,다운카운팅이 다 가능하다.

그렇다면

###

###

이렇게 샵 3개를 두줄로 쓰고 싶으면 어떻게 할까?

 

j=1
while j<3:           # ### 두줄로 만들기
    i=1
    while i<4:
        print('#', end='')
        i += 1       # 업카운팅으로 # 3개 출력
    print()        # 다음 줄에 ### 찍어라
    j += 1
    

out)

###
###

만약 점수(1~100점)를 입력받아야 하는 상황에서 입력자가 범위 외의 것을 입력한다면?

다시 재입력을 하라는 문구를 띄워야 할 것이다.

그럴 때는 while문을 사용할 수 있다.

 

 

 

score = -1
while score>100 or score<0:
    score = int(input('score(0-100):'))

if score >= 60:
    print('합격')
else:
    print('불합격')

out)

score(0-100):230
score(0-100):56
불합격

 

 

 

for문

 

메모리에 데이터를 할당(저장)하는 방법은 2가지가 있다.

1. 변수

2. 리스트

변수는 지금 껏 직접 변수명과 값을 입력해주어야 했다. 하지만 입력해야할 변수들이 100개라면 변수명을 일일히 나열할 수는 없을 것이다. 그래서 사용하는 것이 리스트!

 

 

b=[1, 2, 3, 4, 5]

print(b[0])
print(b[1])
print(b[2])
print(b[3])
print(b[4])

out)

1
2
3
4
5

리스트는 위의 예제처럼 칸을 여러개로 나누어 여러개의 변수를 담는 호텔이라고 생각하면 된다.

리스트의 앞에서부터 우리는 0호, 1호, 2호, 3호 ... 이런 식으로 이름을 붙일 것이다.

즉, b= [1, 2, 3, 4, 5] 에서 0호의 값은 1, 1호의 값은 2, 4호의 값은 5가 된다.

리스트를 이용해 변수 값을 잡는 것이 훨씬 수훨해졌다.

그런데 b=[1,2,3,4, ......., 1000]이라면 모든 호수에 있는 값들을 쉽게 출력할 방법은 없을까?

그것이 바로, for문!!

#위에 있는 내용을 단 두줄로 표현 가능!
for i in b:           #또는 for i in [1, 2, 3, 4, 5] 도 가능
    print(i)

out)

1
2
3
4
5

 

참 쉽죠?

그럼 리스트를 좀 더 간략하게 해보자.

b=[0,1,2,3,4] 를 for i in range(0, 5) 로 나타낼 수 있다.

여기서 range는 수를 자동으로 나열 해주는 함수이다.

#range(시작, 끝값, 간격)
for i in range(0,5):     # [0,1,2,3,4]
    print(i)


for i in range(1,10,2):   #1부터 9까지 2칸씩 건너띄면서  [1,3,5,7,9]
    print(i)

out)

0
1
2
3
4



1
3
5
7
9

그렇다면 앞에서 했던 while문을 이용한 코딩들을 for문으로 바꿔보자!

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #피카츄게임?  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #제어문 (if, if-else, if - elif - elif - else)  (0) 2021.06.01
python #연습문제  (0) 2021.06.01

Q. 성인 여성만 입장 가능 한 코딩을 짜보자.

 

y= int(input('나이:'))
if y>=20:
    x = input('성별(여:f, 남:m):')
    if x=='f':
        print('입장')
    else:
        print('여성만 입장가능')
else:
    print('성인만 입장가능')


#성인&여성 인증 - 2
x = int(input('나이:'))
y = input('성별(여:f, 남:m):')

if x>=20 and y=='f':
    print('입장')
else:
    print('성인여성만 입장가능')

out)

나이:25
성별(여:f, 남:m):f
입장

나이:31
성별(여:f, 남:m):m
성인여성만 입장가능

 

 

Q. 점수(0~100)에 따라 학점을 출력하자.

A : 90~100

B : 80~89

C : 70~79

D : 60~69

F : 60미만

 

#sol 1
x= int(input('점수를 입력하시오.'))
if x>=90 and x<=100:  #90<= x <=100
    print('A')
elif x>=80 and x<90:
    print('B')
elif x >= 70 and x < 80:
    print('C')
elif x >= 60 and x < 70:
    print('D')
elif x<0 or x>100:
    print('잘못된 점수')
else:
    print('F')



#sol2
x= int(input('점수를 입력하시오.'))
if x<0 or x>100:
    print('잘못된 점수')
else:
    if x >= 90:  # x <=100 을 쓸 필요가 없음.
        print('A')
    elif x >= 80:
        print('B')
    elif x >= 70:
        print('C')
    elif x >= 60:
        print('D')
    else:
        print('F')

out)

점수를 입력하시오. 65
D


점수를 입력하시오. 85
B

 

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #연습문제  (0) 2021.06.01
python #반복문 : while, for  (0) 2021.06.01
python #제어문 (if, if-else, if - elif - elif - else)  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #3.input과 print  (1) 2021.06.01

if문

if문은 조건을 만족하는 블록을 실행하고 그렇지 않으면 실행하지 않는다.

if 조건 :

코드 블록

이런 식으로 작성을 한다.

 

a=10
b=13
#조건문은 조건이 만족될때만 실행됨

if a>b:  #거짓, False
    print('a는 b보다 크다')

if a==b:  #거짓, False
    print('a는 b와 같다')

if a<b:   #참, True이므로 블록이 실행됨.
    print('a는 b보다 작다')

out)

a는 b보다 작다

 

 

if-else문

위 if 문 구조에서는 만족되는 코드 블록을 수행하지만 만족되지 않는 경우는 아무것도 수행하지 않았다.

만약 조건문의 만족 여부에 따라 코드를 다르게 수행하고자 하면 if-else 구조를 사용하자.

 

#예제2 : 합격, 불합격
score= int(input('점수:'))
if score>=60:
    print('합격')
else:   #if조건을 만족하지 않으면 실행되는 블록
    print('불합격')


#예제3 : 홀짝
x=int(input('숫자를 입력하세요:'))
if x%2==0:
    print('짝수')
else:
    print('홀수')

out)

점수:55
불합격
숫자를 입력하세요:50
짝수

 

if - elif - else

그럼 만약 게임의 첫 시작화면을 코딩하는 중이라면?

1. 게임시작

2. 캐릭터선택

3. 연습

4.게임종료

위 처럼 여러 조건에 따라 코드를 각각 다르게 수행하려면 if- elif - else 조건문을 사용하자.

 

menu=2

if menu ==1:
     print(‘game start’)

elif menu ==2:
     print(‘select char’)

elif menu ==3:
    print(‘exercise’)

elif menu ==4:
     print(‘game over’)

else:
     print(‘잘못 입력하셨습니다.’)

 

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #반복문 : while, for  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #3.input과 print  (1) 2021.06.01
Python #2. 연산자  (0) 2021.06.01

+ Recent posts