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

Python中如何为用户输入编号?循环输入学生身高报错求助

解决方法

你遇到的TypeError是因为input()函数仅接受1个字符串参数,你传入了两个参数(提示文本和变量x),所以触发错误。要实现带编号的输入提示,只需把编号整合到提示字符串里,下面是几种常用实现方式:

1. 使用f-string(Python 3.6+ 推荐)

这是最简洁直观的写法,在字符串前加f,并把变量放在{}中:

for x in range(1, 21):  # 从1开始循环,对应学生编号1-20
    height = float(input(f"Height of Student No.{x} = "))

2. 使用str.format()方法(兼容旧版本Python)

如果需要兼容Python 3.5及更早版本,用这种方式:

for x in range(1, 21):
    height = float(input("Height of Student No.{} = ".format(x)))

3. 字符串拼接

通过把变量转为字符串后和提示文本拼接:

for x in range(1, 21):
    height = float(input("Height of Student No." + str(x) + " = "))

完整实现(含最高/最矮值计算)

结合你的需求,这里给出完整的代码示例,把所有身高存入列表后,用max()和min()函数找出极值:

student_heights = []
for student_num in range(1, 21):
    height = float(input(f"Height of Student No.{student_num} = "))
    student_heights.append(height)

# 计算并输出结果
if student_heights:
    tallest_height = max(student_heights)
    shortest_height = min(student_heights)
    print(f"最高身高: {tallest_height}")
    print(f"最矮身高: {shortest_height}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:45:29