3 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
這里的 pythonic 方法是使用 all:
word_input = input("words please: ")
if all(ch in ['w','v','g'] for ch in word_input):
print("yes")
else:
print("no")
.. for ch in word_input逐個(gè)生成每個(gè)字符。一旦測(cè)試失敗,就會(huì)返回;如果所有測(cè)試都通過(guò),則返回 。word_inputch in [..]allFalseTrue

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
這里的 pythonic 方法是使用集合:
def validate_input(userword, accepted_chars):
return set(accepted_chars).issuperset(userword)
def main():
# input() always returns a string in Py3
userword = input("words please:")
if validate_input(userword, "wvg"):
print("ok")
else:
print("ko")
if __name __ "__main__":
main()

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
一種方法是將所有字符與主列表進(jìn)行匹配。
wordInput = str(input("words please: "))
only_valid_characters = ['w', 'v', 'g']
validatedInput = [valid_char for valid_char in wordInput if valid_char in only_valid_characters]
if len(wordInput) == len(validatedInput):
print("yes")
else:
print("no")
添加回答
舉報(bào)