我被困在这里了
repeat = int(input("How many : "))
number = 0
nArr = []
for i in range(repeat):
number += 1
name = input("Line-",number,": ")
nArr.append(name)
print(nArr)我试着得到如下的输出:
How many : 3
Line-1 : Hello
Line-2 : World
Line-3 : Today
['Hello', 'World', 'Today']但是,此程序错误会发生:
TypeError:输入最多需要一个参数,得到3个
但我不知道怎么做。拜托,有人能告诉我在哪里吗?
任何帮助都将不胜感激。
发布于 2022-01-27 16:05:10
使用格式
input("Write this number {}: ".format(number))发布于 2022-01-27 17:55:48
您可能需要使用print()函数打印"Line-",number,": "。
name = input("Line-",number,": ")不能工作的原因是,它不是连接字符串,而是将3个参数传递给input():"Line-"、number和": "。但是,由于input()只接受一个参数(不管用户输入什么,都是字符串),它就会抛出这个错误。看起来您混淆了字符串连接和传递给print()的参数。
print()接受任意数量的参数,并将它们全部显示在控制台中,并提供其他参数/选项,用于更改数据的显示方式等。
见Python "input expected at most 1 arguments, got 3"。
使用print()的
show_what_to_enter = print("Line-",number,": ") #just print and tell which line the user has to input
name = input() #wait for and get user input
nArr.append(name)但是,这与数据的显示方式有一些问题,因此可以使用可选参数end和sep来获得与我们使用input()获得的输出相同的输出,方法是这样更改show_what_to_enter:
show_what_to_enter = print("Line-",number,": ", end="", sep="")因此,完整的代码是:
repeat = int(input("How many : "))
number = 0
nArr = []
for i in range(repeat):
number += 1
show_what_to_enter = print("Line-",number,": ", end="", sep="")
name = input()
nArr.append(name)
print(nArr)使用input()的
name = input("Line-" + str(number) + ": ")
#str(number) because number is an int, and an int and a string cant be concatenated 完整的代码:
repeat = int(input("How many : "))
number = 0
nArr = []
for i in range(repeat):
number += 1
name = input("Line-" + str(number) + ": ")
nArr.append(name)
print(nArr)https://stackoverflow.com/questions/70881765
复制相似问题