Python challenge
[069~079] 튜플과 리스트 그리고 딕셔너리
Grace Ryu
2023. 9. 24. 10:37
#069. 다섯개의 국가 이름을 담고 있는 튜플을 만들고, 튜플 전체를 출력하라.
# 표시된 국가 이름들 중 하나를 입력하라고 사용자에게 요청하고,
# 입력된 국가 이름의 인덱스 번호(즉 목록에서의 위치)를 출력하라
city = ("한국", "미국", "일본", "독일", "영국")
print(city)
answer = input("표시 국가중에서 하나를 입력해라: ")
print(f"당신이 선택한 {answer}의 인덱스 번호는 {city.index(answer)}입니다.")
#070.사용자에게 숫자를 입력하라고 요청하고, 입력된 위치의 국가 이름이 출력되는 기능을 069번 프로그램에 추가하라.
city = ("한국", "미국", "일본", "독일", "영국")
print(city)
answer1 = input("표시 국가중에서 하나를 입력해라: ")
print(city.index(answer1))
answer2 = int(input("0부터 4까지 입력하시오: "))
print(city[answer2])
#071. 두개의 스포츠 이름을 담고 있는 리스트를 생성하라.
# 사용자에게 좋아하는 스포츠가 무엇인지 물어보고 그것을 리스트 끝에 추가하라. 리스트를 정렬하고 출력하라.
sport_list = ['swim', 'tennis']
answer = str(input("좋아하는 스포츠?: "))
sport_list.append(answer)
sport_list.sort()
print(sport_list)
#072. 교과목 여섯개가 담긴 리스트 생성.
# 이들 중 사용자가 좋아하지 않는 과목을 묻고, 그 과목을 삭제후 리스트 재출력
class_list = ['수학', '국어', '영어', '미술', '체육', '과학']
print(class_list)
answer = input("너가 싫어하는 과목은?: ")
class_list.remove(answer)
print(class_list)
#073. 사용자에게 좋아하는 음식 네개를 입력하도록 요청
#그것을 인덱스 번호 1부터, 시작하는 딕셔너리에 저장.
# 인덱스 번호와 항목을 모두 표시되도록 딕셔너리를 출력한다.
#사용자에게 제거하고 싶은 항목을 묻고, 그것을 제거한다.
#남아있는 데이터를 정렬하고 딕셔너리를 다시 출력
#출력이 이상하게 됨
menu_dict = {} #딕셔너리 저장
for i in range(4):
answer = input("좋아하는 음식:")
menu_dict[i+1] = answer
print(menu_dict) #{1: '사과', 2: '과일', 3: '콜라', 4: '바나나'}
num = int(input("제거하고 싶은 번호?: "))
del menu_dict[num]
# print(menu_dict) # {1: '사과', 2: '과일', 4: '바나나'}
print(sorted(menu_dict.values())) #['과일', '바나나', '사과']
#074.열개의 색상이 담긴 리스트를 생성. 사용자에게 0에서 4사이의 시작번호와 5에서 9사이의 끝번호를 입력하라고 요청.
# 입력된 시작 번호부터 끝번호까지 색상 출력
colors = ['빨강', '핑크', '검정', '파랑', '노랑', '그린', '주황', '회색', '핑크', '하얀색']
first_num = int(input("0~4 사이의 시작번호 입력: "))
last_num = int(input("5~9사이의 끝번호 입력"))
print(colors[first_num:last_num + 1])
#075. 세자리 숫자 네개가 담긴 리스트를 생성, 각 리스트의 항목을 한줄에 하나씩 출력.
#사용자에게 세자리 입력하라고 요청. 리스트 숫자 중 하나면 리스트의 인덱스 출력
#그렇지 않으면 that is not the list 메세지 출력
num = [333,444,555]
a = print(int(num[0]))
b = print(int(num[1]))
c = print(int(num[2]))
new_num = int(input("세자리 수 입력: "))
if new_num in num:
index = num.index(new_num)
print(f"{new_num}의 인덱스는 {index}")
# if new_num == 'a' or 'b' or 'c':
# print(num.index(new_num)) #이렇게 할 경우 else문 출력이 안됨
else:
print("that is not the list")
#076. 사용자에게 파티에 초대할 사람 3명의 이름을 입력하라고 요청하고 리스트에 저장한다.
# 모든 이름이 입력되면 추가할 사람이 있는지 묻는다. n라고 할때까지 추가.
# n이라고 입력하면 파티에 초대한 사람이 몇명인지 표시
name = []
for i in range(0,3):
new_name = input("파티에 초대할 사람 이름을 입력: ")
name.append(new_name)
print(name)
answer = input("추가할 사람이 있나요? (y/n): ")
count = 3 #이미 초대받은 사람 3명
while answer == 'y':
add_name = input("파티에 초대할 사람 이름을 입력: ")
name.append(add_name)
count = count + 1
answer = str(input("추가할 사람이 있나요? (y/n): ")) #첫번째 순서를 잘못써서 while 굴레있었음
print(f"파티에 참석할 사람은 {count}입니다.")
#077. 76번 프로그램을 수정하여 초대할 사람들의 이름이 리스트에 모두 추가되면 전체 명단을 출력하고
# 리스트에 있는 이름들 중 하나를 입력하라고 요청한다.
# 그 사람을 정말로 파티에 초대할 것인지 묻는다. 만약 n이라고 한다면 항목을 리트스에서 삭제하라.
name_list = []
for i in range(0,3):
new_name = input("파티에 초대할 사람 이름을 입력: ")
name_list.append(new_name)
print(name_list)
answer = input("추가할 사람이 있나요? (y/n): ")
count = 3 #이미 초대받은 사람 3명
while answer == 'y':
add_name = input("파티에 초대할 사람 이름을 입력: ")
name_list.append(add_name)
count = count + 1
answer = str(input("추가할 사람이 있나요? (y/n): ")) #첫번째 순서를 잘못써서 while 굴레있었음
print(f"파티에 참석할 사람은 {count}입니다.")
member = str(input("리스트 이름 중 하나 입력: "))
answer1 = str((input("정말로 그 사람을 초대할 것인가? (y/n): ")))
if answer1 != 'y':
name_list.remove(member)
print(name_list)
#print(name_list.remove(member)) #<None>
else:
print(f"초대할 사람은 완료되었습니다.")
#078. 네개 tv프로그램 타이틀을 담은 리스트를 생성하고, 각 항목을 한줄씩 출력
#사용자에게 다른 프로그램을 입력하도록 요청, 타이틀 위치 삽입하여 다시 출력
ch_list = ['나혼산', '유퀴즈', '생생', '뉴스']
print(ch_list[0])
print(ch_list[1])
print(ch_list[2])
print(ch_list[3])
ch = input("다른 프로그램 입력: ")
index = int(input("원하는 위치 말하라: "))
ch_list.insert(index, ch)
print(ch_list)
#079. nums 이름의 빈 리스트 생성. 사용자에게 숫자를 입력하라고 요청.
# 숫자가 입력되면 nums 리스트 끝에 추가하고, 리스트 출력
# 세개 숫자 입력받으면, 마지막 숫자 저장할 것인지 물어봄.
#만약 n라고 하면 리스트 마지막 항목 삭제하고 리스트 출력
nums = []
for i in range(0,3):
answer = int(input("숫자 입력: "))
nums.append(answer)
if len(nums) == 3:
ans = (input("마지막 숫자 저장?: (y/n):"))
if ans.lower() != 'y': #()안하면 n-> num 마지막 번호 사라짐
nums.pop() #마지막 번호 날리기
print(nums)
추가 학습: randrange vs randint
import random
num = random.randrange(1, 100) # randrage(a, b) -> a부터 b-1까지의 범위 => range(a, b)와 비슷
print(num)
num = random.randint(1, 100) # randint(a, b) -> a부터 b까지의 범위
print(num)
import random
random = random.randint(1, 10)
while choice != random:
choice = int(input("Choose a number between 1 and 10: "))
#
fruit_tuple = ('사과', '바나나', '딸기', '오렌지')
print(fruit_tuple.index('바나나'))
print(fruit_tuple[2])
names_list = ['join', 'tim', 'sam']
names_list.append(input('add a name:'))
print(names_list)
x = [154,634,892,234]
print(x[1:3])
num = int(input("enter number: "))
if num in x:
print(num,"is in the list")
else:
print("not in the list")