我需要你的帮助。 我无法理解使用列表或集合的内容。列表更有效。字典也需要索引。但我的问题是文本应该是字符串所以变量必须等于文本作为字符串。我不能D = [' a',' b'' c']。 文本给我错误,因为除了个人之外它不能比较它们,我必须创建诸如abc或word示例作为_success并确认它在列表中是真的。
这是我的代码到目前为止,但我有问题,现在它接受数字,字母和符号。诸如!@#$%之类的符号应该返回False。 将它作为自己的功能工作,但我需要在if语句中。 return text.isalnum()不在if语句中工作。多数民众赞成我的问题符号应该是假的。
<div class="panel-group" id="accordion1">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion1" **data-target**="#collapseOne">
Collapsible Group #1
</a></h4>
</div>
<div id="collapseOne" class="panel-collapse collapse">
<div class="panel-body">
This is a simple accordion inner content...
</div>
</div>
</div>
</div>
输出问题。 输入文字:_ 假
_假设是符号True之一。示例_success123为True !@#$%假设是假的,但它显示为True作为输出另一个例子是!@#A123。此输出为False。
那里的代码确实接受下划线,字母和数字 输出: _success123 但问题也是接受!@#$为True。 return text.isalnum()拒绝符号,但它在if语句中不起作用。
答案 0 :(得分:0)
这是一种矫枉过正,但您可以使用正则表达式。添加新字符(例如符号)很容易:
import re
def check(text):
return re.match('^[a-zA-Z0-9_!]*$', text)
text = str(raw_input("Enter text: "))
print(check(text))
答案 1 :(得分:0)
如果要避免使用正则表达式,可以使用Python集:
allowed = set('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789')
def check(text):
return not len(set(text) - allowed)
for text in ['_success123', '!@#$%']:
print(text, check(text))
这会将您的文本转换为一组字符,并删除所有允许的字符。如果剩下任何字符,则表示它无效。对于两个例子,这给出了:
_success123 True
!@#$% False