【发布时间】:2021-04-25 00:39:37
【问题描述】:
newcompany = input("Enter Company Name: ")
for stock in portfolioStock:
if newcompany.lower() == stock[0].lower():
newcompany = input("Company already exist in the Portfolio\nPlease enter another Company Name: ")
break
else:
newcompany = newcompany.capitalize()
continue
上面的代码只检查一次输入验证,然后再继续我的下一个代码块,我如何让它连续验证输入。 比如输入,我输入了apple,但是我的list里面有apple,所以又提示了,但是当我再次输入apple时,就直接跳到下一行代码了。
Enter Company Name: apple
Company already exist in the Portfolio
Please enter another Company Name: apple
Enter market capitalisation of company: Mega, Large or Mid:
这就是它的样子
接下来是while 循环
newcompany = input("Enter Company Name: ")
while True:
for stock in portfolioStock:
if newcompany.lower() == stock[0].lower():
newcompany = input("Company already exist in the Portfolio\nPlease enter another Company Name: ")
break
else:
newcompany = newcompany.capitalize()
continue
这就是我的代码在while 循环中的样子
这些是结果
Enter Company Name: apple
Company already exist in the Portfolio
Please enter another Company Name: apple
Company already exist in the Portfolio
Please enter another Company Name: samsung
它在samsung下面留下一个空格并且不会继续到下一行代码
【问题讨论】:
-
你应该在这里使用
while循环 -
我也尝试了一个while循环,但它产生了相同的结果:(
-
你能提供什么是portfolioStock吗?我假设它是一个列表列表,因为您正在将输入与 stock[0] 进行比较。但是,这仅检查列表中的第一个元素是否等于输入。这就是你想要的吗?
-
是的,portfolioStock 是一个二维列表,我想用二维列表中的列表中的第一项验证输入
标签: python list loops validation input