循环获取输入
Gtting input ina loop
我想在一个循环中获取输入,我想向用户显示他们正在为该循环中的第 1、2、3 等项目输入数据,有人可以帮我修复我的代码吗?
n=int(input("Pleaseenter the number of laptops: "))
i=0
while i!=n:
laptops_price=input("Please enter the price of the {i}laptop: ".format(i))
i+=1
您将 f
字符串与 format
调用混淆了。它们并不完全相同。这些都可以工作:
laptops_price=input(f"Please enter the price of the {i}laptop: ")
laptops_price=input("Please enter the price of the {}laptop: ".format(i))
使用 {}
而不是 {i}
,而是使用 for i in range(n)
循环 - 它更方便
此外,我不确定您的确切目的,但请 laptops_prices
列出并改用 .append()
好的,这里有几件事值得考虑:
首先,这个问题对我来说似乎有点模糊,从某种意义上说,您只需标记出您的代码即可使其正常工作,并进行一些小的更改。
其次,您可能需要序号字典设置以将笔记本电脑的名称从“1”更改为
到“1st”等,但这是相当微不足道的。
第三,还有你使用的循环问题。最好使用一个范围。
所以,
调整后的版本(工作):
n=int(input("Please enter the number of laptops: "))
i=0
while i!=n:
laptops_price=input("Please enter the price of laptop "+str(i)+": ".format(i))
i+=1
虽然上面的方法有效,但它可能会受益于一些变化。
新版本(工作):
n=int(input("Please enter the number of laptops: "))
for i in range(n):
laptops_price=input("Please enter the price of laptop "+str(i+1)+": ".format(i))
如果您想要第 1、第 2、第 3、第 4 等的字典,请改用此字典:
n=int(input("Please enter the number of laptops: "))
for i in range(n):
ordinal = lambda n: "%d%s" % (n,"tsnrhtdd"[(n//10%10!=1)*(n%10<4)*n%10::4])
laptops_price=input("Please enter the price the "+ordinal(i+1)+" laptop: ".format(i))
我想在一个循环中获取输入,我想向用户显示他们正在为该循环中的第 1、2、3 等项目输入数据,有人可以帮我修复我的代码吗?
n=int(input("Pleaseenter the number of laptops: "))
i=0
while i!=n:
laptops_price=input("Please enter the price of the {i}laptop: ".format(i))
i+=1
您将 f
字符串与 format
调用混淆了。它们并不完全相同。这些都可以工作:
laptops_price=input(f"Please enter the price of the {i}laptop: ")
laptops_price=input("Please enter the price of the {}laptop: ".format(i))
使用 {}
而不是 {i}
,而是使用 for i in range(n)
循环 - 它更方便
此外,我不确定您的确切目的,但请 laptops_prices
列出并改用 .append()
好的,这里有几件事值得考虑:
首先,这个问题对我来说似乎有点模糊,从某种意义上说,您只需标记出您的代码即可使其正常工作,并进行一些小的更改。
其次,您可能需要序号字典设置以将笔记本电脑的名称从“1”更改为 到“1st”等,但这是相当微不足道的。
第三,还有你使用的循环问题。最好使用一个范围。
所以,
调整后的版本(工作):
n=int(input("Please enter the number of laptops: "))
i=0
while i!=n:
laptops_price=input("Please enter the price of laptop "+str(i)+": ".format(i))
i+=1
虽然上面的方法有效,但它可能会受益于一些变化。 新版本(工作):
n=int(input("Please enter the number of laptops: "))
for i in range(n):
laptops_price=input("Please enter the price of laptop "+str(i+1)+": ".format(i))
如果您想要第 1、第 2、第 3、第 4 等的字典,请改用此字典:
n=int(input("Please enter the number of laptops: "))
for i in range(n):
ordinal = lambda n: "%d%s" % (n,"tsnrhtdd"[(n//10%10!=1)*(n%10<4)*n%10::4])
laptops_price=input("Please enter the price the "+ordinal(i+1)+" laptop: ".format(i))