Python输入函数传参错误:实现10个数求和遇TypeError求助
问题排查与解决方案
错误原因
Python的input()函数仅支持传入最多1个参数(用于显示的提示文本),你在第3行代码中传入了3个独立的参数:"enter number"、i、" :",这不符合函数的参数要求,因此触发TypeError: input expected at most 1 argument, got 3异常。
解决方法
只需将动态生成的提示内容整合成单个字符串后传入input()即可,以下是几种常用的实现方式:
方式1:使用f-string(Python 3.6及以上版本推荐)
f-string是最简洁直观的字符串格式化方式,直接在字符串中嵌入变量:
sum = 0 for i in range(1, 11): num = int(input(f"enter number {i} :")) sum += num print("The sum of given 10 numbers is :", sum)
方式2:字符串拼接
通过+号将字符串和转换为字符串的变量拼接在一起:
sum = 0 for i in range(1, 11): num = int(input("enter number " + str(i) + " :")) sum += num print("The sum of given 10 numbers is :", sum)
方式3:使用str.format()方法
利用字符串的format()方法将变量插入到指定位置:
sum = 0 for i in range(1, 11): num = int(input("enter number {} :".format(i))) sum += num print("The sum of given 10 numbers is :", sum)
以上三种方法都能正确生成动态提示文本,解决参数传递错误的问题,最终实现收集10个数字并计算总和的功能。
内容的提问来源于stack exchange,提问作者Harry Kane
相关产品推荐
相关产品推荐

