다음 조건을 만족하는 코드를 작성하세요.
내가 작성한 코드문
fruits = ["apple", "banana", "grape", "peach", "orange"]
print(fruits[0])
print(fruits[4])
print(fruits[1:4])
fruits = ["apple", "banana", "grape", "peach", "orange"]
print(fruits[0])
print(fruits[4])
print(fruits[1:4])
문제 설명:
5명의 학생 성적이 리스트로 주어집니다. 첫 번째 학생과 마지막 학생의 성적을 출력하고, 2번째부터 4번째 학생까지의 성적을 슬라이싱으로 출력하세요.
입력 예시:
입력 없음
출력 예시:
첫 번째 학생 성적: 85점
마지막 학생 성적: 88점
2~4번째 학생 성적: [90, 78, 92]
내가 작성한 코드문
scores = [85, 90, 78, 92, 88]
print("첫 번째 학생 성적: ", scores[0])
print("마지막 학생 성적: ", scores[len(scores)-1])
print("2~4번째 학생 성적: ", scores[1:4])
첫 번째 학생 성적: 85
마지막 학생 성적: 88
2~4번째 학생 성적: [90, 78, 92]
문제 설명:
빈 리스트를 만들고, 사용자로부터 할 일을 5개 입력받아 리스트에 추가하세요.
그 후 사용자에게 완료한 할 일의 번호(1부터 시작)를 입력받아 해당 항목을 삭제하고, 남은 할 일 목록과 개수를 출력하세요.
입력 예시:
빨래하기
설거지하기
공부하기
운동하기
청소하기
3
출력 예시:
전체 할 일: ['빨래하기', '설거지하기', '공부하기', '운동하기', '청소하기']
'공부하기'를 완료했습니다!
남은 할 일: ['빨래하기', '설거지하기', '운동하기', '청소하기']
남은 개수: 4개
내가 작성한 코드문
# 빈 리스트를 만드세요
works = []
# 할 일을 5개 입력 받고, 리스트에 추가하세요.
for i in range(0,5):
work1 = input("할일 5개 입력하세요: ")
works.append(work1)
# print("전체 할 일:", works)
print(f"전체 할일: {works}")
# 사용자에게 완료할 할 일의 번호를 입력받고, 번호 해당하는 할일을 삭제하세요.
number = int(input("할 일의 번호를 입력하세요: "))
# works.remove(works[number - 1])#pop(number)도 가능
print(f"{works.pop(number-1)}를 완료했습니다!")
# 남은 할 일의 목록과 개수를 출력하세요.
print("남은 할 일:", works, "남은 개수: ", len(works))
전체 할일: ['잠', '코딩', '게임', '자전거', '헬스']
코딩를 완료했습니다!
남은 할 일: ['잠', '게임', '자전거', '헬스'] 남은 개수: 4
다른 사람의 풀이
For문 없이 그냥 인풋5개 입력하면 됨
works.append(input("할일 5개 입력하세요: "))
이렇게 약식으로 해도 된다. 입력과 동시에 추가
print(f"전체 할일: {works}")
f-string 활용가능
Pop은 인덱스를 기준으로 지우지만 반환도 가능하다 그래서 pop 쓸것.
print(f"{works.pop(number-1)}를 완료했습니다!")
이렇게 하면 pop과 동시에 출력가능
print("남은 할 일:", works, "남은 개수: ", len(works)) # 이것도 f-string 사용가능
print(f"남은 할 일: {works}, 남은 개수: {len(works)}")
문제 설명:
일주일(월-일) 동안의 매출액이 리스트로 주어집니다. 평일(월금)과 주말(토~일)의 매출 합계를 각각 계산하여 출력하고, 평일 매출 합계와 주말 매출 합계의 차이를 출력하세요.
sum(리스트) 함수를 활용해보세요!
입력 예시:
입력없음
출력 예시:
평일 매출 합계: 700만원
주말 매출 합계: 410만원
평일 매출 - 주말 매출: 290만원
내가 작성한 코드문
abcd = [120, 150, 130, 140, 160, 200, 210]
# 매출 합계 계산과 출력
result = sum(abcd)
# print("평일 매출 합계: ", result,"만원")
# print(sum(list))
# 어느 쪽 매출이 더 높은지 출력하세요.
mon_sum = abcd[0:5]
weekend_sum = abcd[5:]
print("평일 매출 합계: ",sum(mon_sum),"만원")
print("주말 매출: ",sum(weekend_sum),"만원")
print("평일 매출 - 주말 매출: ",sum(mon_sum) - sum(weekend_sum),"만원")
평일 매출 합계: 700 만원
주말 매출: 410 만원
평일 매출 - 주말 매출: 290 만원
fstring 활용
print(f"평일 매출 합계: {sum(mon_sum)} 만원")
print(f"주말 매출: {sum(weekend_sum)} 만원")
print(f"평일 매출 - 주말 매출: {sum(mon_sum) - sum(weekend_sum)}만원")
문제 설명:
창고의 상품 재고 리스트가 주어집니다. 다음 작업을 순서대로 수행하세요:
입력 예시:
입력없음
출력 예시:
키보드 재고: 3개
최종 재고: ['노트북', '노트북', '마우스', '모니터', '키보드', '키보드', '키보드']
내가 작성한 코드문
inventory = ["마우스", "키보드", "모니터", "마우스", "키보드", "키보드"]
inventory.append("노트북")
inventory.append("노트북")
inventory.remove("마우스")
inventory.sort()
inventory.count("키보드")
print(f"최종 재고: {inventory}")
최종 재고: ['노트북', '노트북', '마우스', '모니터', '키보드', '키보드', '키보드']
주어진 리스트에서 중복된 숫자를 제거하고 오름차순으로 정렬된 리스트를 만드세요.
출력 예시
중복 값: 5, 개수: 3
중복 값: 8, 개수: 2
중복 값: 2, 개수: 2
[1, 2, 3, 5, 8, 9]
내가 작성한 코드문
numbers = [5, 2, 8, 2, 9, 5, 3, 8, 1, 5]
print(f"중복 값: {numbers[0]} 개수 {numbers.count(numbers[0])}")
print(f"중복 값: {numbers[2]} 개수 {numbers.count(numbers[2])}")
print(f"중복 값: {numbers[1]} 개수 {numbers.count(numbers[1])}")
number1 = numbers[0]
number2 = numbers[1]
number3 = numbers[2]
numbers.remove(number1)
numbers.remove(number1)
numbers.remove(number2)
numbers.remove(number3)
numbers.sort()
print(numbers)
중복 값: 5 개수 3
중복 값: 8 개수 2
중복 값: 2 개수 2
[1, 2, 3, 5, 8, 9]
문제 설명:
아래 코드의 실행 결과는?
data = [1, 3, 4, 5]
data.append([6, 8, 10])
print(len(data))
내가 작성한 답안
[1, 3, 4, 5, [6, 8, 10]]
5
문제 설명:
사용자로부터 점수를 입력받아 학점을 출력하세요.
입력 예시:
85
출력 예시:
학점은 B입니다.
내가 작성한 코드문
num = int(input("점수를 입력하세요: "))
if num >= 90:
print("학점은 A입니다.")
elif num >= 80:
print("학점은 B입니다.")
elif num >= 70:
print("학점은 C입니다.")
else:
print("학점은 F입니다.")
문제 설명:
3명의 학생 정보가 중첩 리스트로 주어집니다. 각 학생은 [이름, 국어, 수학, 영어] 형태입니다.
각 학생의 평균을 계산하고, 각 학생의 이름과 평균을 출력하세요.
sum(리스트) 함수를 활용하세요!
입력 예시:
입력없음
출력 예시:
김철수 84.33333333333333
이영희 91.66666666666667
박민수 69.0
내가 작성한 코드문
students = [
["김철수", 85, 90, 78],
["이영희", 92, 88, 95],
["박민수", 70, 65, 72]
]
김철수 = [students[0][1], students[0][2], students[0][3]]
이영희 = [students[1][1], students[1][2], students[1][3]]
박민수 = [students[2][1], students[2][2], students[2][3]]
print(f"김철수 {sum(김철수) /len(김철수)}")
print(f"이영희 {sum(이영희) /len(이영희)}")
print(f"박민수 {sum(박민수) /len(박민수)}")
김철수 84.33333333333333
이영희 91.66666666666667
박민수 69.0
문제 설명:
등록된 아이디와 비밀번호가 주어집니다. 사용자로부터 아이디와 비밀번호를 입력받아:
위 조건에 따라 출력하세요.
입력 예시:
user123
pass456
출력 예시:
비밀번호가 틀렸습니다
내가 작성한 코드문
correct_id = "user123"
correct_pw = "pass456"
id = input("아이디를 입력하세요: ")
pw = input("비밀번호를 입력하세요: ")
if correct_id == id and correct_pw == pw:
print("로그인 성공")
elif correct_id == id and correct_pw != pw:
print("비밀번호만 틀림: 비밀번호가 틀렸습니다")
elif correct_id != id and correct_pw == pw:
print("아이디만 틀림: 존재하지 않는 아이디입니다")
else:
print("둘 다 틀림: 아이디와 비밀번호를 확인하세요")
문제 설명:
물건의 무게(kg)와 배송 지역(서울/지방/제주)을 입력받아 배송비를 계산하세요.
입력 예시:
5
지방
출력 예시:
배송 지역: 지방
무게: 5kg
배송비: 7000원
(설명: 기본 4000원에 초과 2kg에 의한 추가 3000원)
내가 작성한 코드문
kg = int(input("kg을 입력하세요.: "))
area = input("지역을 입력하세요: ")
money = 0
if area == "서울" and kg <= 3:
money = 3000
elif area == "서울" and kg > 3:
money = 3000 + (1000 * (kg - 3))
if area == "지방" and kg <= 3:
money = 4000
elif area == "지방" and kg > 3:
money = 4000 + (1500 * (kg - 3))
if area == "제주" and kg <= 3:
money = 5000
elif area == "제주" and kg > 3:
money = 5000 + (2000 * (kg - 3))
print(f"배송 지역: {area}")
print(f"무게: {kg}kg")
print(f"배송비: {money}원")
다른사람의 풀이
이것도 방법은 아주 다양하다 함
지역에 따른
Base_fee extra_fee 변수를 지정하는 방법도 있다고 함.
print("배송 지역: ", area)
print("무게: ", kg,"kg")
print("배송비: ", money,"원")
이것도 f-string 써보기
문제 설명:
사용자로부터 수축기 혈압과 이완기 혈압을 입력받아 상태를 판정하세요.
입력 예시:
135
85
출력 예시:
수축기: 135mmHg 이완기: 85mmHg
판정: 고혈압 전단계
내가 작성한 코드문
machine = int(input("수축기: "))
bp = int(input("이완기: "))
if machine < 120 and bp < 80:
print("수축기: ", machine, "이완기: ", bp)
print("판정: 정상")
elif machine >=120 and machine <= 129 and bp < 80:
print(f"수축기: {machine}mmHg 이완기: {bp}mmHg")
print("판정: 주의") # 120~129 AND 이완기 80 미만: "주의"
elif machine >=130 and machine <= 139 and (bp >= 80 and bp <=89):
print(f"수축기: {machine} 이완기: {bp}")
print("판정: 고혈압 전단계") # 130~139 OR 이완기 80~89: "고혈압 전단계"
elif machine >=140 and (bp >= 90):
print(f"수축기: {machine} 이완기: {bp}")
print("판정: 고혈압") # 수축기 140 이상 OR 이완기 90 이상: "고혈압"
students 리스트를 바탕으로 아래와 같은 지시사항을 따르세요.
(값은 자유롭게 설정)
students = []
# 1. 학생 3명의 이름을 추가 (또는 그 이상)
student1 = input("학생을 입력하세요.")
students.append(student1)
student2 = input("학생을 입력하세요.")
students.append(student2)
student3 = input("학생을 입력하세요.")
students.append(student3)
print(f"세명의 학생 {students}")
# 2. 두 번째 위치에 전학생 추가
student4 = input("전학생을 입력하세요.")
students.insert(1, student4)
# 3. 학생 이름을 알파벳 순으로 정렬
students.sort()
# 4. 특정 학생이 몇 번째에 있는지 찾기
students5 = input("특정 학생이 몇 번째에 있는지: ")
print(f"{students.index(students5) + 1}번째")
# 5. 전학 가는 학생 한명을 정해서 제거
students6 = input("전학 가는 학생 한명을 정하기: ")
students.remove(students6)
# 6. 조건문으로 학생 수 확인:
# - 5명 이상: "반이 꽉 찼습니다"
# - 3~4명: "적정 인원입니다"
# - 2명 이하: "학생이 부족합니다"
if len(students) >= 5:
print("반이 꽉 찼습니다")
elif len(students) <= 4 and len(students) >= 3:
print("3~4명: 적정 인원입니다")
else:
print("학생이 부족합니다")
print(students)
세명의 학생 ['강ㅇㅇ', '이ㅇㅇ', '임ㅇㅇ']
2 번째
3~4명: 적정 인원입니다
['강ㅇㅇ', '윤ㅇㅇ', '임ㅇㅇ']