鱼C论坛

 找回密码
 立即注册
查看: 74|回复: 3

[已解决]求助TT

[复制链接]
发表于 前天 12:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

好心人看看出了什么问题吧
telephone_dic = {"A":"123456789",
                 "B":"178945623"}
telephone_dic["C"] = "145678923"
telephone_dic["D"] = "123789456"
telephone_dic["E"] = "165498732"
while True:
query = input("请输入想要查询的人:"+ "(按q退出)")
if query : "q"
print("程序已退出")
break
try:
if query in telephone_dic :
    print("您查询的"+ query +"电话如下")
    print(telephone_dic[query])
else :
    print("没有此号码")
    print("当前收录电话为:" + str(len(telephone_dic))+"个")

运行不成功
最佳答案
前天 12:06
亲爱的鱼油,你的代码有几个问题,我来帮你修正一下。

首先,telephone_dic 最初被定义为字典,但后面被覆盖成了字符串,这导致查询时无法正确工作。应该将所有电话号码保存在同一个字典中。

其次,if query : "q" 这行代码语法错误,应该是 if query == "q": 来检查输入是否为退出字符。

另外,循环内的缩进和逻辑需要调整,确保查询部分在循环内正确执行。

以下是修正后的代码:


  1. telephone_dic = {"A": "123456789", "B": "178945623", "C": "145678923", "D": "123789456", "E": "165498732"}

  2. while True:
  3.     query = input("请输入想要查询的人:" + "(按q退出)")
  4.     if query == "q":
  5.         print("程序已退出")
  6.         break
  7.     if query in telephone_dic:
  8.         print("您查询的" + query + "电话如下")
  9.         print(telephone_dic[query])
  10.     else:
  11.         print("没有此号码")
  12.         print("当前收录电话为:" + str(len(telephone_dic)) + "个")
复制代码


这样修改后,代码应该能正常运行。输入字典中的键(如 "A")会显示对应号码,输入 "q" 退出程序,其他输入会提示没有此号码并显示总号码数量。

希望这能解决你的问题!如果还有其他疑问,欢迎继续询问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

评分

参与人数 1鱼币 +1 收起 理由
姜大公 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 前天 12:06 | 显示全部楼层    本楼为最佳答案   
亲爱的鱼油,你的代码有几个问题,我来帮你修正一下。

首先,telephone_dic 最初被定义为字典,但后面被覆盖成了字符串,这导致查询时无法正确工作。应该将所有电话号码保存在同一个字典中。

其次,if query : "q" 这行代码语法错误,应该是 if query == "q": 来检查输入是否为退出字符。

另外,循环内的缩进和逻辑需要调整,确保查询部分在循环内正确执行。

以下是修正后的代码:


  1. telephone_dic = {"A": "123456789", "B": "178945623", "C": "145678923", "D": "123789456", "E": "165498732"}

  2. while True:
  3.     query = input("请输入想要查询的人:" + "(按q退出)")
  4.     if query == "q":
  5.         print("程序已退出")
  6.         break
  7.     if query in telephone_dic:
  8.         print("您查询的" + query + "电话如下")
  9.         print(telephone_dic[query])
  10.     else:
  11.         print("没有此号码")
  12.         print("当前收录电话为:" + str(len(telephone_dic)) + "个")
复制代码


这样修改后,代码应该能正常运行。输入字典中的键(如 "A")会显示对应号码,输入 "q" 退出程序,其他输入会提示没有此号码并显示总号码数量。

希望这能解决你的问题!如果还有其他疑问,欢迎继续询问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 12:13 | 显示全部楼层
FishC 发表于 2025-9-3 12:06
亲爱的鱼油,你的代码有几个问题,我来帮你修正一下。

首先,telephone_dic 最初被定义为字典,但后面被 ...

line 38
   
    ^
SyntaxError: unexpected EOF while parsing
这是啥意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 12:14 | 显示全部楼层
渽进我心里 发表于 2025-09-03 12:13
FishC 发表于 2025-9-3 12:06
亲爱的鱼油,你的代码 ...


这个错误信息表示Python在解析你的代码时,在文件末尾遇到了意外的结束。这通常意味着代码中有未闭合的括号、引号或其他语法结构。

在你的代码中,问题可能出在 `try:` 语句后面缺少对应的 `except` 或 `finally` 块。Python的 `try` 语句需要至少有一个 `except` 或 `finally` 块。

让我帮你修正代码:

  1. telephone_dic = {"A": "123456789", "B": "178945623", "C": "145678923", "D": "123789456", "E": "165498732"}

  2. while True:
  3.     query = input("请输入想要查询的人:" + "(按q退出)")
  4.     if query == "q":
  5.         print("程序已退出")
  6.         break
  7.    
  8.     if query in telephone_dic:
  9.         print("您查询的" + query + "电话如下")
  10.         print(telephone_dic[query])
  11.     else:
  12.         print("没有此号码")
  13.         print("当前收录电话为:" + str(len(telephone_dic)) + "个")
复制代码


主要修改:
1. 移除了 `try` 语句,因为这里不需要异常处理
2. 修正了 `if query == "q"` 的条件判断
3. 修改了打印电话号码的部分,使用 `telephone_dic[query]` 来获取特定联系人的号码

这样修改后应该就不会出现语法错误了。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-5 16:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表