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
相关产品推荐
相关产品推荐

