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

Python报错TypeError:conversion()缺少3个必需位置参数求助

解决TypeError: conversion()缺少必需参数的问题

问题原因

你调用conversion()和print2()时未传入函数定义要求的参数,同时main()返回的三个MPH数值没有被接收,导致后续函数无法获取所需数据,触发参数缺失的类型错误。

修复方案

  1. 调用main()时,将返回的三个MPH值保存到变量中
  2. 把这些变量作为参数传入conversion(),接收转换后的公里每小时数值
  3. 将原始MPH值和转换结果一起传入print2(),完成最终输出

修正后的完整代码

def main():
    print("This is a Conversion app that converts Miles Per Hour to Kilometer Per Hour.")
    print("1 mile per hour is 1.60934 kilometers per hour.")
   
    milesPerhour1 = int(input("Type a positive integer value of MPH you would see on the highway or in your neighborhood. "))
    milesPerhour2 = int(input("Type another. "))
    milesPerhour3 = int(input("Type one last one. "))

    return milesPerhour1, milesPerhour2, milesPerhour3


def conversion(milesPerhour1, milesPerhour2, milesPerhour3):
    conversionNumber = 1.60934
    conversion1 = conversionNumber * milesPerhour1
    conversion2 = conversionNumber * milesPerhour2
    conversion3 = conversionNumber * milesPerhour3
    return conversion1, conversion2, conversion3


def print2(milesPerhour1, milesPerhour2, milesPerhour3, conversion1, conversion2, conversion3):
    print(f"{milesPerhour1} Miles Per Hour is {conversion1} Kilometers Per Hour.")
    print(f"{milesPerhour2} Miles Per Hour is {conversion2} Kilometers Per Hour.")
    print(f"{milesPerhour3} Miles Per Hour is {conversion3} Kilometers Per Hour.")


# 接收main返回的参数
mph1, mph2, mph3 = main()
# 传入参数进行转换,接收结果
kph1, kph2, kph3 = conversion(mph1, mph2, mph3)
# 传入所有参数完成打印
print2(mph1, mph2, mph3, kph1, kph2, kph3)

另外顺手修正了原代码里的拼写错误(Coversion→Conversion,high way→highway),并把字符串拼接改成了更简洁的f-string写法,提升代码可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:17:13