Python3.7判断标识符的合法性

1.Python中的标识符必须满足

  • 首个字符以字母或下划线开头
  • 后面的字符可以是字母、下划线或者数字

2.导入的模块:import string
需要用到模块string中如下函数:

  • string.ascii_letters
 >>>string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
  • string.digits
>>> string.digits
'0123456789'

3.程序

# 标识符检查:首先以字母或下划线开头,后面跟字母、下划线或者数字
import string

alphas = string.ascii_letters + '_'
nums = string.digits
allchar = alphas + nums
Flag = 0 #设个标志位
myInput = input('Identifier to test?')
if len(myInput) > 1: #要求输入的标识符长度至少为2
    if myInput[0] in alphas :
        for others in myInput[1:]:#遍历剩下的字符
            if others in allchar :
                Flag = 1
            else:
                Flag = 0
                break
        if Flag == 1:
            print('输入的是合法标识符')
        else:
            print('输入的是非法标识符')
    else:
       print('输入的是非法标识符') 
else:
    print('输入的是非法标识符')

4.缺点

  • 输入的表示标识符的长度必须大于1。
  • 没有考虑到Python的关键字,这些关键字是不允许做标识符的。如数据类型中的int。
  • 从性能的角度考虑,上面的循环操作把大把时间都浪费到了重复计算字符串的长度上。

    上述缺点留给机智的你们来完善咯~

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值