码迷,mamicode.com
首页 > 编程语言 > 详细

Python 字符串_标识符判断

时间:2016-10-15 14:07:16      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:

# 标题:输入一个字符串标识符,判断这个标识符是否合法?
# 标识符:首字符必须是字母或下划线,后面的字符只能是字母、数字、下划线
# 不能是关键字(可以用keyword模块,iskeyword判断是不是关键字,kwlist所有的关键字列表)

import string
import keyword

alphas = string.ascii_letters + ‘_‘
nums = string.digits
myInput = input("Identifier to test>")
len_s = len(myInput)

if len_s > 1:
 #先判断是不是关键字,再判断首字符是不是合法,合法再继续判断后面的字符是不是合法。
 if myInput not in keyword.kwlist:
  if myInput[0] not in alphas:
   print("invalid identifier")
  else:
   for i in myInput[1:]:
    if i not in alphas+nums:
     print("invalid identifier")
     break
   else:
    print("%s is valid identifier" % myInput)
 else:
  print("%s is keyword!" % myInput)
elif len_s == 1:
 if myInput in alphas:
  print("valid identifier")
 else:
  print("invalid identifier")
else:
 print("请输入一个字符串标识符。")

‘‘‘
第19-24行是一个for-else语句,在整个for循环里没有遇到break时测执行else。
性能提示:第20行if语句里有两个字符串合并的操作,被合并的字符串从始至终都没变过,
在for循环里每次执行都会计算一次,我们可以把这两个字符串存为一个新的字符串,
每次引用新的字符串,而不用每次重复计算了。
alphnums = alphas + nums
for i in myInput[1:]:
 if i not in alphnums:
  ...
‘‘‘

 

Python 字符串_标识符判断

标签:

原文地址:http://www.cnblogs.com/zhang-teng/p/5963122.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!