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

Python input()函数报TypeError:不接受关键字参数的问题求助

问题原因

Python的input()函数只接受单个字符串参数,不支持像print()那样传入多个参数和sep关键字参数。你代码里给input()传了多个字符串、变量a以及sep="",这就触发了TypeError。

另外你代码里的变量a初始为0,但循环中没有更新,会导致每次询问的都是workout #0,这也是需要修正的点。

修正方案

这里提供几种可行的写法:

方法1:使用f-string(推荐,简洁直观)

workouts = int(input("How many workouts do you have data for?\n"))

for i in range(workouts):
    # 用i+1是因为range从0开始,要显示第1、2...次训练
    sets = int(input(f"How many sets were completed in workout #{i+1}?\n"))
    # 这里可以添加处理sets的逻辑,比如累加统计等

方法2:字符串拼接

workouts = int(input("How many workouts do you have data for?\n"))
a = 1  # 初始化为1,对应第一次训练

for _ in range(workouts):
    sets = int(input("How many sets were completed in workout #" + str(a) + "?\n"))
    a += 1  # 每次循环后更新训练次数

方法3:使用str.format()

workouts = int(input("How many workouts do you have data for?\n"))

for i in range(workouts):
    sets = int(input("How many sets were completed in workout #{0}?\n".format(i+1)))
说明
  • 所有修正后的写法都只给input()传了一个完整的字符串参数,避免了原错误。
  • 循环中用i+1或者更新a的值,确保询问的训练次数是正确的(从1开始递增)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:22:09