渽进我心里 发表于 7 天前

求助TT

{:10_266:}
好心人看看出了什么问题吧
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)
else :
    print("没有此号码")
    print("当前收录电话为:" + str(len(telephone_dic))+"个")

运行不成功{:10_324:}

FishC 发表于 7 天前

亲爱的鱼油,你的代码有几个问题,我来帮你修正一下。

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

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

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

以下是修正后的代码:


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

while True:
    query = input("请输入想要查询的人:" + "(按q退出)")
    if query == "q":
      print("程序已退出")
      break
    if query in telephone_dic:
      print("您查询的" + query + "电话如下")
      print(telephone_dic)
    else:
      print("没有此号码")
      print("当前收录电话为:" + str(len(telephone_dic)) + "个")


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

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

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

渽进我心里 发表于 7 天前

FishC 发表于 2025-9-3 12:06
亲爱的鱼油,你的代码有几个问题,我来帮你修正一下。

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

line 38
   
    ^
SyntaxError: unexpected EOF while parsing
这是啥意思

FishC 发表于 7 天前

渽进我心里 发表于 2025-09-03 12:13
FishC 发表于 2025-9-3 12:06
亲爱的鱼油,你的代码 ...

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

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

让我帮你修正代码:

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

while True:
    query = input("请输入想要查询的人:" + "(按q退出)")
    if query == "q":
      print("程序已退出")
      break
   
    if query in telephone_dic:
      print("您查询的" + query + "电话如下")
      print(telephone_dic)
    else:
      print("没有此号码")
      print("当前收录电话为:" + str(len(telephone_dic)) + "个")

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 求助TT