Задание №1
Ранее мы выполняли задание связанное с ветеринарной клиникой. В той задаче нам предстояло вывести информацию о питомце на экран. Сейчас нам необходимо создать словарь pets = {}
Примерный вид будет следующим:
pets = {
"Имя питомца": {
'Вид питомца': # придумайте каким образом сюда внести информацию,
'Возраст питомца': # придумайте каким образом сюда внести информацию,
'Имя владельца': # придумайте каким образом сюда внести информацию
}
}
У нас должен получиться словарь, с ещё одним словарём внутри. То есть, есть словарь pets. Он в себе хранит ещё один словарь, который обозначается именем питомца. Имя питомца также нужно каким-то образом вносить туда.
Задача не будет считаться выполненной, если мы захотим сразу внести информацию, не прибегая в функции input()
Например:
pets = {
"Мухтар": {
"Вид питомца": "Собака",
"Возраст питомца": 9,
"Имя владельца": "Павел"
}
}
Так должен будет выглядеть результируюший словарь, но первоначальный его вид - пустой. Его необходимо заполнить пользовательским вводом через консоль с помощью функции input(), а не вписать значения уже в самом коде.
Возраст питомца должен быть типа int Всё остальное - строки
Так как возраст питомца указывается типом int. Необходимо, в соответствии с указанным возрастом выводит год, года или лет. Например:
Его возраст: 24 года
Его возраст: 21 год
Его возраст: 19 лет
И теперь осталось только получить всю информацию о питомце в виде строки, как из задания "Ввод-вывод и базовые переменные", но с небольшими изменениями. Для получения информации необходимо воспользоваться методами словаря keys() и values():
Это желторотый питон по кличке "Каа". Возраст питомца: 19 лет. Имя владельца: Саша
Решение задания № 1:
I ВАРИАНТ
pets ={}
pets2={}
while (True):
k=input("Введите имя питомца (клавиша enter - выход): ")
if k=='':
break
else:
k1=input('Вид питомца: ')
k2=int(input('Возраст питомца: '))
year_case = ''
if k2 % 10 == 1 and k2 != 11 and k2 % 100 != 11:
year_case = 'год'
elif 1 < k2 % 10 <= 4 and k2 != 12 and k2 != 13 and k2 != 14:
year_case = 'года'
else:
year_case = 'лет'
k3=input('Имя владельца: ')
pets2={'Вид питомца:':k1, 'Возраст питомца:':k2, 'Имя владельца:':k3 }
pets[k]=pets2
print("Это", pets2['Вид питомца:'], "по кличке", pets.keys(),". Возраст питомца:", pets2['Возраст питомца:'], year_case, "Имя владельца:", pets2['Имя владельца:'])
II ВАРИАНТ
pets ={}
pets2={}
while (True):
k=input("Введите имя питомца (клавиша enter - выход): ")
if k=='':
break
else:
k1=input('Вид питомца: ')
k2=int(input('Возраст питомца: '))
year_case = ''
if k2 % 10 == 1 and k2 != 11 and k2 % 100 != 11:
year_case = 'год'
elif 1 < k2 % 10 <= 4 and k2 != 12 and k2 != 13 and k2 != 14:
year_case = 'года'
else:
year_case = 'лет'
k3=input('Имя владельца: ')
pets2={'Вид питомца:':k1, 'Возраст питомца:':k2, 'Имя владельца:':k3 }
pets[k]=pets2
for key in pets.keys():
print("Это", pets2['Вид питомца:'], "по кличке", key,". Возраст питомца:", pets2['Возраст питомца:'], year_case, "Имя владельца:", pets2['Имя владельца:'])
III ВАРИАНТ
pets ={}
pets2={}
while (True):
k=input("Введите имя питомца (клавиша enter - выход): ")
if k=='':
break
else:
k1=input('Вид питомца: ')
k2=int(input('Возраст питомца: '))
k3=input('Имя владельца: ')
pets2={'Вид питомца:':k1, 'Возраст питомца:':k2, 'Имя владельца:':k3 }
pets[k]=pets2
for key, value in pets.items():
vid=value['Вид питомца:']
vozrast=value['Возраст питомца:']
imy=value['Имя владельца:']
year_case = ''
if vozrast % 10 == 1 and vozrast != 11 and vozrast % 100 != 11:
year_case = 'год'
elif 1 < vozrast % 10 <= 4 and vozrast != 12 and vozrast != 13 and vozrast != 14:
year_case = 'года'
else:
year_case = 'лет'
print("Это", vid, "по кличке", key,". Возраст питомца:", vozrast, year_case, "Имя владельца:", imy)
Задание №2
С помощью цикла создайте словарь, в котором ключи будут, например от числа 10, до -5 (включительно). А значениями этих ключей будут сами эти числа возведённые в степени равных этим числам
Например:
my_dict = {
10: 10000000000,
9: 387420489,
# и так далее ...
-5: -0.00032
}
Решение задания № 2:
new_dict = {}
for z in range(10, -6,-1):
new_dict[z] = z ** z
print(new_dict)