Программисты помогите. (python) - Общение Python мододелов

Вопрос Программисты помогите. (python)

Регистрация
24 Сен 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Задача: напишите программу которая запрашивает у пользователя 3 имени и возраст которая сохраняет их словарь позволяет ввести имя и узнать возраст человека.
 
Регистрация
24 Мар 2013
Сообщения
97
Репутация
1
Спасибо
0
Монет
0
def create_and_access_database():
"""Создает словарь с именами и возрастами, затем позволяет пользователю искать возраст по имени."""

data = {} # Словарь для хранения данных

# Запрос данных у пользователя
for i in range(15): #тут писать цифру, сколько имен и лет надо ввести
name = input(f"Введите имя {i+1}: ")
while True:
try:
age = int(input(f"Введите возраст {name}: "))
if age >= 0:
break
else:
print("Возраст должен быть неотрицательным числом.")
except ValueError:
print("Некорректный ввод возраста. Попробуйте снова.")
data[name] = age

# Запрос имени для поиска возраста
while True:
search_name = input("Введите имя для поиска возраста (или 'exit' для выхода): ")
if search_name.lower() == 'exit':
break
if search_name in data:
print(f"Возраст {search_name}: {data[search_name]}")
else:
print("Имя не найдено в базе данных.")

if __name__ == "__main__":
create_and_access_database()

НО после выхода данные не сохранятся
 
Регистрация
23 Окт 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
def get_name():
"""Запрашивает и возвращает имя пользователя, проверяя, что оно не пустое и состоит только из букв."""
while True:
name = input("Введите имя: ").strip()
if name.isalpha(): # Проверка, что имя состоит только из букв
return name.lower() # Приводим имя к нижнему регистру
else:
print("Ошибка: имя должно содержать только буквы. Попробуйте снова.")

def get_age(name):
"""Запрашивает возраст пользователя, проверяя, что это число и оно положительное."""
while True:
age = input(f"Введите возраст для {name}: ").strip()
if age.isdigit() and int(age) > 0: # Проверка, что возраст — это положительное число
return int(age)
else:
print("Ошибка: возраст должен быть положительным числом. Попробуйте снова.")

def main():
"""Основная логика программы."""
people = {}

# Запрашиваем у пользователя 3 имени и возраста
for _ in range(3):
name = get_name()
age = get_age(name)
people[name] = age

# Поиск возраста по имени
while True:
search_name = input("\nВведите имя для поиска (или 'выход' для завершения): ").strip().lower()

if search_name == "выход":
print("Программа завершена.")
break

if search_name in people:
print(f"Возраст {search_name.capitalize()}: {people[search_name]}")
else:
print(f"Человек с именем '{search_name}' не найден. Попробуйте снова.")

if __name__ == "__main__":
main()
 
Регистрация
26 Окт 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
def get_names_and_ages():
people = {}
for i in range(3):
name = input(f"Enter name {i+1}: ")
age = int(input(f"Enter age for {name}: "))
people[name] = age
return people

def find_age(people):
name_to_find = input("Enter the name to find the age: ")
if name_to_find in people:
print(f"{name_to_find} is {people[name_to_find]} years old.")
else:
print(f"{name_to_find} not found in the dictionary.")

if __name__ == "__main__":
people_dict = get_names_and_ages()

find_age(people_dict)
 
Регистрация
14 Ноя 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
# Программа на Python для запроса 3 имен и возрастов, сохранения их в словаре и возможности запроса возраста по имени

def main():
# Создаем пустой словарь для хранения имен и возрастов
people = {}

# Запрашиваем 3 имени и возраста у пользователя
for i in range(3):
name = input(f"Введите имя {i+1}: ")
age = int(input(f"Введите возраст для {name}: "))
people[name] = age

# Позволяем запрашивать возраст по имени
while True:
query_name = input("Введите имя, чтобы узнать возраст (или введите 'exit' для выхода): ")
if query_name.lower() == 'exit':
break
elif query_name in people:
print(f"{query_name} имеет {people[query_name]} лет.")
else:
print(f"Имя {query_name} не найдено в словаре.")

# Запускаем программу
if __name__ == "__main__":
main()
 
Регистрация
26 Окт 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
Вот простая программа на Python для решения вашей задачи:

# Создаем пустой словарь
people = {}

# Запрашиваем у пользователя 3 имени и возраста
for _ in range(3):
name = input("Введите имя: ")
age = input("Введите возраст: ")
people[name] = age

# Запрашиваем имя для получения возраста
query_name = input("Введите имя для поиска возраста: ")

# Выводим возраст, если имя есть в словаре
if query_name in people:
print(f"Возраст {query_name}: {people[query_name]}")
else:
print("Имя не найдено.")


Эта программа позволяет вводить три имени и возраста, а затем по имени выводить возраст.
 
Сверху Снизу