我正在尝试编写一个完成MU游戏的程序 https://en.wikipedia.org/wiki/MU_puzzle
基本上我坚持确保用户输入只包含M,U和I字符。
我写过
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.我可以帮我一个人吗?
答案 0 :(得分:1)
if all(c in "MIU" for c in string):
检查字符串的每个字符是否是M,I或U中的一个。
请注意,这会接受一个空字符串,因为它的每个字符都是M,I或U,而且每个字符中都没有任何字符。"如果您要求字符串实际包含文本,请尝试:
if string and all(c in "MIU" for c in string):
答案 1 :(得分:0)
如果您是正则表达式的粉丝,可以执行此操作,删除任何不是m,u或i的字符
import re
starting = "jksahdjkamdhuiadhuiqsad"
fixedString = re.sub(r"[^mui]", "" , starting)
print(fixedString)
#output: muiui
答案 2 :(得分: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')