You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Try/Except函数使用报错:TypeError参数错误求助

问题分析与解决

错误原因

  1. 第6行语法错误:print(miles = int(input("Enter amount of miles driven: "))) 写法错误。Python会把miles=解析为传递给print()函数的关键字参数,但print()根本不接受名为miles的参数,因此触发TypeError。你想要的是先赋值给miles再打印,不能把赋值操作直接写在print()的参数里。
  2. 异常处理范围错误:你写的try/except块和convert_distance()函数是独立的,调用函数时,函数内部的int(input(...))没有被异常处理覆盖,导致输入非数字时,函数依然会抛出未被捕获的ValueError。

修正后的代码

把异常逻辑整合到函数内部,确保所有可能出错的输入转换都被覆盖:

def convert_distance():
    try:
        miles = int(input("Enter amount of miles driven: "))
        kilometers = miles * 1.609
        print(f"At {miles} miles, your distance in kilometers is: {kilometers}")
    except ValueError:
        print("That is not a number. Please enter a number")

convert_distance()

代码说明

  • 将可能抛出ValueError的输入转换代码(int(input(...)))放入try块,一旦输入不是整数,就会触发except块的错误提示。
  • 输入合法整数时,正常执行距离转换并打印结果。

额外说明

如果非要单独用try/except处理输入(不整合到函数),正确写法是先赋值再打印:

def convert_distance(miles):
    kilometers = miles * 1.609
    print(f"At {miles} miles, your distance in kilometers is: {kilometers}")

try:
    miles = int(input("Enter amount of miles driven: "))
    convert_distance(miles)
except ValueError:
    print("That is not a number. Please enter a number")

内容的提问来源于stack exchange,提问作者Rachroxit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:01:08