优化上面代码
时间: 2023-08-11 12:21:29 浏览: 41
以下是对上述代码的优化建议:
1. 使用函数封装重复的代码,例如 `get_response` 函数可以包含获取用户输入和返回 AI 回复的逻辑,减少代码重复。
2. 使用列表或字典存储问题和对应的答案,而不是使用 if/elif/else 语句判断。这样不仅代码更简洁,还可以方便地添加新的问题和答案。
3. 使用 try/except 语句处理异常情况,例如用户输入无法转换为整数时的错误。
4. 使用 while 循环不断接收用户输入,直到用户输入 "exit" 才退出程序。
下面是优化后的代码示例:
```python
import random
responses = {
"你好": ["你好啊!", "您好呀!", "你好,有什么可以帮您的?"],
"你叫什么名字": ["我叫 ChitGPT!", "我的名字是 ChitGPT。"],
"你几岁了": ["我没有年龄,我是人工智能!", "我没有年龄,我是永远年轻的。"],
"你会干什么": ["我可以回答你的问题,还可以和你聊天哦!", "我可以聊天,回答问题,甚至还可以唱歌跳舞!", "我可以帮你解决问题,还可以和你聊天!"],
"退出": ["好的,再见!", "下次再见!", "拜拜!"]
}
def get_response(user_input):
if user_input in responses:
return random.choice(responses[user_input])
else:
return "抱歉,我不知道你在说什么。"
while True:
user_input = input("你想对我说什么?")
if user_input == "退出":
print(random.choice(responses[user_input]))
break
try:
user_input = int(user_input)
print("你输入的数字是:", user_input)
except:
print(get_response(user_input))
```
这个优化后的代码更加简洁、易于维护,也更加健壮,能够处理更多异常情况。