2016-04-05 11 views
0

で特定の文字が含まれている場合、基本的に私は、ユーザー入力がONLY M、U及びIの文字が含まれていることを保証するとこだわっています。私は文字列が唯一の私がMUゲーム <a href="https://en.wikipedia.org/wiki/MU_puzzle" rel="nofollow">https://en.wikipedia.org/wiki/MU_puzzle</a></p> <p>を完了したプログラムを書くためにしようとしているのPython

alphabet = ('abcdefghijklmnopqrstuvwxyz') 

string = input("Enter a combination of M, U and I: ") 

if "M" and "U" and "I" in string: 
    print("This is correct") 
else: 
    print("This is invalid") 

を書いた

私はちょうどちょうどM UとIにその排他的ではないので、このdoesntの仕事を実現誰も私に手を与えることができますか?文字列のすべての文字は、それのすべての文字があるので、これは、空の文字列を受け入れること

注M、I、またはUのいずれかの場合

答えて

1
if all(c in "MIU" for c in string): 

どうかを確認するかM、I、またはUの場合、「すべての文字」には文字がありません。あなたは、文字列が実際にテキストが含まれていることが必要な場合は、試してください:あなたは、あなたがこれを行うことができます正規表現のファンなら

if string and all(c in "MIU" for c in string): 
0

、M、U、またはI

import re 
starting = "jksahdjkamdhuiadhuiqsad" 
fixedString = re.sub(r"[^mui]", "" , starting) 

print(fixedString) 
#output: muiui 
でない任意の文字を削除します
+0

おかげで、しかし、このプログラムは、単にそれらを削除しないで無効な文字が入力された場合に再起動する必要があります – discord1

0

原始的な構造で、あなたの目標を達成する簡単なプログラム:このため

valid = "IMU" 
chaine = input ('enter a combination of letters among ' + valid + ' : ') 

test=True 
for caracter in chaine: 
    if caracter not in valid: 
     test = False 

if test :   
    print ('This is correct')  
else:  
    print('This is not valid') 
関連する問題

 関連する問題