Как я могу поместить ключевые слова в мой код?

Итак, как я мог сделать свой код, вместо того, чтобы ставить от 1 до 4, я мог бы просто добавить ключевое слово, например «Замораживание» или «Фроз». Как я могу поместить ключевого поисковика в свой код, вся помощь очень ценится в расширенном 🙂

def menu(): print("Welcome to Kierans Phone Troubleshooting program") print("Please Enter your name") name=input() print("Thanks for using Kierans Phone Troubleshooting program "+name +"\n") def start(): select = " " print("Would you like to start this program? Please enter either y for yes or n for no") select=input() if select=="y": troubleshooter() elif select=="n": quit else: print("Invalid please enter again") def troubleshooter(): print("""Please choose the problem you are having with your phone (input 1-4): 1) My phone doesn't turn on 2) My phone is freezing 3) The screen is cracked 4) I dropped my phone in water\n""") problemselect = int(input()) if problemselect ==1: not_on() elif problemselect ==2: freezing() elif problemselect ==3: cracked() elif problemselect ==4: water() start() def not_on(): print("Have you plugged in the charger?") answer = input() if answer =="y": print("Charge it with a diffrent charger in a diffrent phone socket. Does it work?") else: print("Plug it in and leave it for 20 mins, has it come on?") answer = input() if answer=="y": print("Are there any more problems?") else: print("Restart the troubleshooter or take phone to a specialist\n") answer=input() if answer =="y": print("Restart this program") else: print("Thank you for using my troubleshooting program!\n") def freezing(): print("Charge it with a diffrent charger in a diffrent phone socket") answer = input("Are there any more problems?") if answer=="y": print("Restart the troubleshooter or take phone to a specialist\n") else: print("Restart this program\n") def cracked(): answer =input("Is your device responsive to touch?") if answer=="y": answer2 = input("Are there any more problems?") else: print("Take your phone to get the screen replaced") if answer2=="y": print("Restart the program or take phone to a specialist\n") else: print("Thank you for using my troubleshooting program!\n") def water(): print("Do not charge it and take it to the nearest specialist\n") menu() while True: start() troubleshooter() 

Поскольку вы хотите, чтобы пользователь вводил описание проблемы телефона, вам, вероятно, нужен список проблем и ключевых слов, связанных с этими проблемами. Следующая программа показывает, как вы можете организовать такую ​​базу данных и как ее искать на основе ввода пользователя. Есть более быстрые альтернативы этому решению (например, индексирование базы данных), но эта базовая реализация должна быть достаточной на данный момент. Вам нужно будет предоставить дополнительный код и информацию о том, как разрешать проблемы, но ответы на ваш предыдущий вопрос должны помочь вам в этом.

 #! /usr/bin/env python3 # The following is a database of problem and keywords for those problems. # Its format should be extended to take into account possible solutions. PROBLEMS = (('My phone does not turn on.', {'power', 'turn', 'on', 'off'}), ('My phone is freezing.', {'freeze', 'freezing'}), ('The screen is cracked.', {'cracked', 'crack', 'broke', 'broken', 'screen'}), ('I dropped my phone in water.', {'water', 'drop', 'dropped'})) # These are possible answers accepted for yes/no style questions. POSITIVE = tuple(map(str.casefold, ('yes', 'true', '1'))) NEGATIVE = tuple(map(str.casefold, ('no', 'false', '0'))) def main(): """Find out what problem is being experienced and provide a solution.""" description = input('Please describe the problem with your phone: ') words = {''.join(filter(str.isalpha, word)) for word in description.lower().split()} for problem, keywords in PROBLEMS: if words & keywords: print('This may be what you are experiencing:') print(problem) if get_response('Does this match your problem? '): print('The solution to your problem is ...') # Provide code that shows how to fix the problem. break else: print('Sorry, but I cannot help you.') def get_response(query): """Ask the user yes/no style questions and return the results.""" while True: answer = input(query).casefold() if answer: if any(option.startswith(answer) for option in POSITIVE): return True if any(option.startswith(answer) for option in NEGATIVE): return False print('Please provide a positive or negative answer.') if __name__ == '__main__': main() 

Вы ищете enum

 from enum import Enum class Status(Enum): NOT_ON = 1 FREEZING = 2 CRACKED = 3 WATER = 4 

Затем в ваших проверках вы делаете что-то вроде этого:

 if problemselect == Status.NOT_ON: ... elif problemselect == Status.FREEZING: ... 
Interesting Posts