[英]Python program gives wrong output when use break statement inside while loop
我在while循環中使用break語句從while循環退出。 但是它給出了錯誤的輸出。 我不知道為什么會這樣。 這是我使用的代碼:
def func():
print "You have entered yes"
t='yes' or 'Y' or 'y' or 'Yes' or 'YES'
while True:
r=raw_input("Enter any number:")
if t=='r':
func()
else:
break
print "Program End"
更新:
當我說“ 是”時,它應該給出:
您輸入了yes ,但是控制進入了break語句。 為什么?
您不應在代碼中使用t = 'y' or 'Y' ...
,因為當您使用or
它會檢查有效性。 試試這個代碼,我很確定它會起作用。
def func():
print "You have entered yes"
t=('yes', 'Y', 'y', 'Yes', 'YES')
while True:
r=raw_input("Enter any number:")
if r in t:
func()
else:
break
print "Program End"
更改
if t=='r':
至
if t==r:
那是你要的嗎?
首先,您要檢查t
是否等於字符串文字'r'
而不是變量r
,因此從理論上講, if t==r
需要的是
但是,這不起作用。 您正在尋找的是一個列表,如下所示:
def func():
print "You have entered yes"
t= ['yes','Y','y','Yes','YES']
while True:
r=raw_input("Enter any number:")
if r in t:
func()
else:
break
print "Program End"
當執行t =='r'時,您將變量與字符串 r(僅此一個字符)進行比較,而不是與r變量進行比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.