[英]Python Code keeps repeating the Input Value even when I try to “end” the code
[英]gender input loop keeps repeating even if I enter “m” or “f”
如果不是m或f,則重復提示直到它為or。 我輸入了m或f,但是循環不斷重復。 為什么?
gender = input('m/f? ')
while gender != 'm' or gender != 'f':
print("Type 'm' or 'f'")
gender = input('m/f? ')
if gender == 'm':
gender = 'him'
elif gender == 'f':
gender = 'her'
print("It read {}".format(gender))
只是說gender
是m
。 查看以下語句:
while gender != 'm' or gender != 'f':
是gender!='m'
嗎? 不。 Or
……是gender!='f'
嗎? 是! OK,保持while
荷蘭國際集團!
您不想要or
,您想要and
由於這一行: while gender != 'm' or gender != 'f':
改為使用: while gender != 'm' and gender != 'f':
gender
不能同時包含“ m”和“ f”
基本面
正確或正確:正確
是非題:是
錯誤或正確:正確
錯誤或錯誤:錯誤
只要兩個條件都不滿足,就必須繼續請求輸入。
或必須替換為“和”。
嘗試:
gender = raw_input('m/f?')
while True:
print("Type 'm' or 'f'")
gender = raw_input('m/f? ')
if gender=='m' or gender=='f':
break
if gender == 'm':
gender = 'him'
elif gender == 'f':
gender = 'her'
print(“讀取為{}”。format(gender))
已經有很多答案了,但是我認為,最Python化的方式也消除了AND / OR混淆,並且如果您想為other
添加o
,則很容易擴展。
while gender not in 'mf':
也就是說, gender
列表中不存在性別。
在您檢查的同時,您要檢查字符串的性別是否不等於'm'或'f',這將一直存在,因為不能同時為兩者。
更改為或修復此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.