[英]Remove my last print line in a while loop
下面是我編寫的函數,該函數完全按照我想要的方式工作。 用戶創建一個列表,然后最終吐出他們創建的沒有負數的列表。 我遇到的問題是在他們執行我的(-1退出)后,刪除了“填充無效,請輸入一個大於0的值”。 我希望用戶能夠輸入-1,然后吐出列表。 那么下面有人對我的功能有任何提示嗎?
def getData():
import math
pop = []
while True:
user = raw_input("Please enter a population number (-1 to quit): ")
pop.append(user)
if user <= '0':
print "Population not valid, please input a value higher then 0"
if user == '-1':
break
new_pop = map(int, pop)
pop2 = filter(lambda x:x >=1, new_pop)
print "Your population list is: ", pop2
getData()
只需顛倒2 ifs的順序
def getData():
import math
pop = []
while True:
user = raw_input("Please enter a population number (-1 to quit): ")
pop.append(user)
if user == '-1':
break
if user <= '0':
print "Population not valid, please input a value higher then 0"
new_pop = map(int, pop)
pop2 = filter(lambda x:x >=1, new_pop)
print "Your population list is: ", pop2
getData()
您可以反轉兩個if
語句的順序:
if user == '-1':
break
elif user <= '0':
print "Population not valid, please input a value higher then 0"
您的問題是這個if語句:
if user <= '0':
換成這個
if user <= '0' and user != '-1':
這樣,-1是唯一低於0的其他輸入,將被忽略。
或如上所述,顛倒if語句的順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.