Это мой второй вопрос здесь, в группе, я действительно пытался найти ответ везде, возможно, я искал неверные термины.Я совершенно новый в Python.Пожалуйста, сообщите мне, если ответ доступен в вашем сообществе или где-либо еще, и я удалю этот пост.Спасибо.
Итак, я делаю онлайн-курс по Python, и в задании мне нужно создать базу данных для магазина фильмов, поэтому мне нужно создавать меню и действия, такие как, просмотр списка фильмов,добавить фильм, найти фильм, удалить фильм и т. д. ...
Я застрял в процессе добавления фильма, то есть когда я прошу пользователя ввести правильный «год фильма» вформат '2018' и правильная категория (это словарь) ...
Проблема в том, что если пользователи правильно выполняют свою работу с самого начала, все прекрасно работает, то есть истинные утверждения в IF иTry (кроме) работает отлично, но когда пользователи вводят неправильный формат в «годе фильма» или другой номер для категории в фильме категории, операторы IF и Try (Except) FALSE работают и заставляют пользователей вставлять своиответьте еще раз, однако, новые операторы TRUE не выполняют то, что должны делать, то есть «возвращают» (фиксируют) введенные пользователем данные, вместо этого они возвращают «None».
Пожалуйста,помогите мне с этим.
Спасибо.
Кстати, я пишу в PyCharm, если это имеет значение.Приветствия.
Задание 1 - База данных для магазина фильмов
def save_dict_to_file(dic):
f = open('dict.txt', 'w')
f.write(str(dic))
f.close()
def load_dict_from_file():
f = open('dict.txt', 'r')
data = f.read()
f.close()
return eval(data)
def open_or_loading():
print('\n\nHello to Movies.base\n\n'
'Do you want to load an existent database or create a new one?\n\n'
'Choose 1 for loading an existent.\n'
'Choose 2 for create a new database.\n')
user_answer = input('Option: ')
if user_answer == '1':
database = load_dict_from_file()
elif user_answer == '2':
database = {}
save_dict_to_file(database)
else:
print('Wrong option, try again.\n')
open_or_loading()
def view_all_list():
for key, value in database.items():
print(key, value)
def add_movie():
last_inserted = (len(database))
movie_name = input('What is the name of the movie: ')
def year_movie():
try:
movie_year = int(input('Released in year: '))
except:
print('You must insert a year format: e.g.: 2018')
year_movie()
else:
if movie_year < 1000 or movie_year > 9999:
print('You must insert a year format: e.g.: 2018')
year_movie()
else:
return movie_year
movie_year = year_movie()
movie_director = input('Directed by: ')
def category_movie():
print('Choose one category:\n\n'
'1 - Action\n'
'2 - Adventure\n'
'3 - Avant-garde / Experimental\n'
'4 - Comedy\n'
'5 - Comedy-Drama\n'
'6 - Crime\n'
'7 - Drama\n'
'8 - Epic\n'
'9 - Family-Children\n'
'10 - Fantasy\n'
'11 - Historical-Film\n'
'12 - Horror\n'
'13 - Musical\n'
'14 - Mystery\n'
'15 - Romance\n'
'16 - Sci-Fi / Science-Fiction\n'
'17 - Spy Film\n'
'18 - Thriller\n'
'19 - War\n'
'20 - Western\n'
'21 - Adult\n')
category = int(input('Category: '))
def switch_demo(argument):
switcher = {
1: 'Action',
2: 'Adventure',
3: 'Avant-garde / Experimental',
4: 'Comedy',
5: 'Comedy-Drama',
6: 'Crime',
7: 'Drama',
8: 'Epic',
9: 'Family-Children',
10: 'Fantasy',
11: 'Historical-Film',
12: 'Horror',
13: 'Musical',
14: 'Mystery',
15: 'Romance',
16: 'Sci-Fi / Science-Fiction',
17: 'Spy Film',
18: 'Thriller',
19: 'War',
20: 'Western',
21: 'Adult'
}
return switcher.get(category)
if category < 1 or category > 21:
print('\nInvalid Category\n')
category_movie()
switch_demo(category)
else:
return switch_demo(category)
movie_category = category_movie()
database[last_inserted + 1] = {}
database[last_inserted + 1]['Movie Name'] = movie_name.upper()
database[last_inserted + 1]['Movie Year'] = movie_year
database[last_inserted + 1]['Director Name'] = movie_director.upper()
database[last_inserted + 1]['Movie Category'] = movie_category
save_dict_to_file(database)
print(f'\nMovie {movie_name} added to database\n')
menu_initial()
def menu_initial():
print('\n\nChose one option:\n\n'
'Select 1 to view the movies list.\n'
'Select 2 to add a new movie.\n'
'Select 3 to find a movie.\n'
'Select 4 to delete a movie.\n'
'Select 5 to exit out\n')
user_selection = (input('Option: '))
if user_selection == '1':
view_all_list()
menu_initial()
elif user_selection == '2':
add_movie()
menu_initial()
elif user_selection == '3':
print('Finding')
menu_initial()
elif user_selection == '4':
print('deleting')
menu_initial()
elif user_selection == '5':
print('Thanks for using Movie.Base. Bye-bye!')
exit()
else:
print('Option do not exist')
menu_initial()
menu_initial()
open_or_loading()