【发布时间】:2019-04-25 05:39:55
【问题描述】:
我必须编写一个提示用户输入的程序,并且只有当用户输入的字符串中的每个字符都是数字('0' - '9')或前六个字母之一时才应该打印 True字母表('A' - 'F')。否则程序应该打印 False。
我不能对这个问题使用正则表达式,因为它还没有教过,我想使用基本的布尔运算。这是我到目前为止的代码,但由于 Or's,它也将 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)
另外我不确定我的程序是否应该将小写字母和大写字母视为不同,这里的字符串是指一个单词还是一个句子?
【问题讨论】:
-
string是整个对象。您应该遍历字符串中的每个元素,例如for char in string:,然后执行您的逻辑。 -
@SyntaxVoid 我使用了这个,仍然在 WEDA 上返回 true string = input("请输入您的字符串:") for char in string: if char == ("A" or "B" or " C" or "D" or "E" or "F"): alphabet_output = "True" else: alphabet_output = "False" output = string.isdigit() or alphabet_output print(output)
标签: python-3.x