我必须编写一个程序来提示用户输入,并且仅当用户输入的字符串中的每个字符都是数字('0'-'9')或字符串中的前六个字母之一时,才应打印True。字母('A'-'F')。否则,程序应显示False。
这个问题我还不能使用正则表达式,因为它还没有被教,我想使用基本的布尔操作。这是我到目前为止的代码,但是由于Or的存在,它也将ABCH输出为true。我被困住了
string = input("Please enter your string: ")
output = string.isdigit() or ('A' in string or 'B' or string or 'C' in string or 'D' in string or 'E' in string or 'F' in string)
print(output)
我也不知道我的程序是否应该将小写字母和大写字母区别对待,字符串在这里还意味着一个单词还是一个句子?
答案 0 :(得分:1)
我们可以使用str.lower
方法使每个元素小写,因为听起来大小写对于您的问题并不重要。
string = input("Please enter your string: ")
output = True # default value
for char in string: # Char will be an individual character in string
if (not char.lower() in "abcdef") and (not char.isdigit()):
# if the lowercase char is not in "abcdef" or is not a digit:
output = False
break; # Exits the for loop
print(output)
output
仅在字符串未通过任何测试的情况下才会更改为False
。否则,它将为True
。