PYTHON/문법

파이썬 - 반복문(리스트,튜플)

sshhhh 2023. 9. 15.

리스트 [요소,요소]

ls=[3,4,8,9]
for i in ls:
  print(i, end=' ')
  
  #출력 : 3 4 8 9
subjects=("국어","영어","수학")
scores = []#점수를 기억할 컬레션 생성
for i in range(len(subjects)):#반복(3과목)
  score = int(input(f"{subjects[i]} 점수 입력:"))#점수 입력
  scores.append(score)#컬렉션에 보관
print((scores[0]+scores[1]+scores[2])/3)#평균 출력


"""<출력>
국어 점수 입력:78
영어 점수 입력:78
수학 점수 입력:88
81.33333333333333

"""

 

딕셔너리

키와 값을 쌍으로 갖는 요소를 보관하는 자료구조

member_states={"홍길동":23,
               "강감찬":17,
               "을지문덕":89}
print(member_states)

print(member_states["홍길동"])

subjects =("국어","영어","수학")
scores_dic = {}
for i in range(2):
  name = input(f"{i+1}번째 학생 이름:")
  scores=[]
  for s in subjects:
    score = int(input(f"{s}:"))
    scores.append(score)
  scores_dic[name] = scores #값 추가 or 변경
print(scores_dic)

name = input("삭제할 학생:")
del scores_dic[name]
print(scores_dic)

eh_att_dic ={}
eh_att_dic["title"]="언제나휴일"
eh_att_dic["url"]="http://ehpub.co.kr"
eh_att_dic["desc"]="어쩌구 저쩌구"
print(eh_att_dic)

#print(eh_att_dic["score"]) 존재하지 않는 키를 인덱스 연산으로 사용하면 KeyError 발생

if "url" in eh_att_dic:
  print(f'존재합니다. url:{eh_att_dic["url"]}')
else:
  print("url 정보가 없습니다.")

value = eh_att_dic.get("url")
if value == None:
  print("url 정보가 없습니다.")
else:
  print(f"url:{value}")

value = eh_att_dic.get("score")
if value == None:
  print("score 정보가 없습니다.")
else:
  print(f"score:{value}")

for attr in eh_att_dic:
  print(f"{attr}:{eh_att_dic[attr]}")

 

<실습 1~5>

 

1.사용자로부터 삼각형의 밑변과 높이를 입력받아 넓이를 출력하시오. 밑변과 높이는 실수를 입력할 수 있으며 넓이는 소수점 이하 2째 자리까지 출력하시오.

w = eval(input("밑변을 입력하세요."))
h = eval(input("높이를 입력하세요."))
area = (w * h) / 2
print  (format(area , ".2f"))

"""
밑변을 입력하세요.4
높이를 입력하세요.8
16.00
"""

2. 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 아닌지를 출력하시오.

a = int(input("첫번째 정수 입력"))
b = int(input("두번째 정수 입력"))

temp =a
a=b
b=temp
if b % a == 0:
    print("약수")
else:
    print("약수가 아닙니다")

3.두 개의 정수를 입력받아 두 개의 정수 사이의 정수의 합계를 구하여 출력하시오.

first=int(input("첫 번째 숫자: "))
second=int(input("두 번째 숫자: "))

if first>second: 
    temp=first
    first=second
    second=temp
print(first,"부터",second,"까지의 합은:",end='') 

sum=0
while first<=second:
    sum=sum+first
    first=first+1
print(sum)

4. n개의 정수를 입력받아 평균과 표준 편차를 구하시오.

import math
n = int(input("입력할 개수:"))
nums=[]
for i in range(n):
  num = int(input(f"{i+1}번째 정수:"))
  nums.append(num)
avg = sum(nums)/n
print(f"평균:{avg}") 

"""
<fstring>
맨앞 : f
중괄호 안: 변수 이름, 출력할것 
f'문자열 {변수} 문자열'
"""

ss=0
for elem in nums:
  ss += (avg - elem)**2
var = ss/n #분산
stddev = math.sqrt(var) #표준편차
print(f"표준 편차:{stddev:.2f}")


"""
입력할 개수:2
1번째 정수:4
2번째 정수:5
평균:4.5
표준 편차:0.50
"""

5. n명의 국어, 영어, 수학 점수를 입력받아 출력하시오.

subjects = ("국어","영어","수학")
n = int(input("입력할 학생 수:"))
m_dict=dict()
for i in range(n):
  name = input(f"{i+1}번째 학생 이름:")
  scores =[]
  for subject in subjects:
    score = int(input(f"{subject} 점수:"))
    scores.append(score)
  m_dict[name] = scores
print(m_dict)


"""
입력할 학생 수:2
1번째 학생 이름:가
국어 점수:12
영어 점수:31
수학 점수:21
2번째 학생 이름:나
국어 점수:90
영어 점수:89
수학 점수:90
{'가': [12, 31, 21], '나': [90, 89, 90]}

"""

 

6. n명의 국어, 영어, 수학 점수를 입력받아 과목별 합계, 평균, 표준 편차를 출력하시오.

import math
subjects = ("국어","영어","수학")
n = int(input("입력할 학생 수:"))

scores=[]
scores.append([])#국어
scores.append([])#영어
scores.append([])#수학

for i in range(n):
  for si, subject in enumerate(subjects):
    score = int(input(f"{subject} 점수:"))
    scores[si].append(score)

print("\n\n=========================")
for si , subject in enumerate(subjects):
  avg = sum(scores[si])/len(scores[si])
  print(f"{subjects[si]} 평균: {avg:.2f}")  
  ss=0
  for score in scores[si]:
    ss += (avg - score)**2
  var = ss/n #분산
  stddev = math.sqrt(var) #표준편차
  print(f"{subjects[si]} 표준편차: {stddev:.2f}")
  
  """
  입력할 학생 수:2
국어 점수:78
영어 점수:90
수학 점수:80
국어 점수:70
영어 점수:80
수학 점수:90


=========================
국어 평균: 74.00
국어 표준편차: 4.00
영어 평균: 85.00
영어 표준편차: 5.00
수학 평균: 85.00
수학 표준편차: 5.00
  
  """

 

'PYTHON > 문법' 카테고리의 다른 글

예외처리, 모듈, 클래스  (0) 2023.09.15

댓글