具体要求:
import keyword #需要使用内置的关键字模块
import string #需要使用字符串模块
import builtins #导入内置函数模块
def is_signal(s): #定义判别函数,接收的参数是main中的s
kw = keyword.kwlist #kw是内置关键字的列表,如:'True', 'and', 'as'
bi = dir(__builtin__) #bi是内建函数名称列表,如'__package__', '__spec__', 'abs',内建函数与关键字不同,
if s in kw or s in bi:#如果字符串在关键字列表中或内建函数中,则显示冲突
print ('conflict')
return 0
elif s[0] == '_' or s[0] in string.ascii_letters: # 判断是否为字母或下划线开头
for i in s:
if i == '_' or i in string.ascii_letters or i in string.digits: # 判断是否由字母数字或下划线组成,
pass #u_88,_rr,
else:
return 0 #%$#
return 1
else:
return 0 #33t
def main():
s = input() #接收一个字符串参数
if is_signal(s) == 1:#如果判断标识符合法的函数返回1
print("True")#打印true
else:
print("False")#否则false
if __name__ == '__main__':#防止在被其他文件导入时显示多余的程序主体部分
main()