第6关:Python的标识符
2023-04-18 14:06:11 时间
#应该是最难的一关了吧,补课了很多知识
# keyword.iskeyword()用于判断关键字
# string扩展库
# and 和 or 的逻辑判断
import string
import keyword
n = input("Please Input Identifier:")
digits = string.digits #包含0-9的数字字符串
letters = string.ascii_letters#包含所有大小写字母的字符串
punctuation = string.punctuation#包含所有标点符号的字符串
Underline = '_'
lenth = len(n)
#一共有五个
if lenth >= 2:
#第一个if是是判断输入的字符个数
if n[0] in letters or n[0] in Underline:
#第二个if是判断输入的字符串是不是以下划线或字母开头
for i in range(1,lenth):
if n[i] in digits or n[i] in letters or n[i] in Underline == True:
# 第三个if是判断当输入的字符串以字母或下划线开头时,
# 剩余是否包含字母、数字、下划线以外的字符。
fact = True
continue
else:
fact = False
break
if fact == True:
#第四个if是根据第三个if判断结果输出不同语句
if keyword.iskeyword(n)==True:
#第五个if是判断是否为关键字
print('SyntaxError: {} is a keyword'.format(n))
else:
print('{} is a valid identifier'.format(n))
else:
print('invalid:identifier symbols must be alphanumeric')
else:
print('invalid: first symbol must be alphabetic')
else:
print('input error')
平台会对你编写的代码进行测试:
测试输入:Please Input Identifier:a
预期输出:input error
测试输入:Please Input Identifier:_abc
预期输出:_abc is a valid identifier
测试输入:Please Input Identifier:if
预期输出:SyntaxError: if is a keyword
测试输入:Please Input Identifier:123a
预期输出:invalid: first symbol must be alphabetic
测试输入:Please Input Identifier:abc :
预期输出:invalid:identifier symbols must be alphanumeric
相关文章
- Hive的基本知识(一)
- Python基础 | 深浅拷贝问题、递归函数练习
- 我的Go+语言初体验——Python开发者轻松上手
- Arthas使用
- Python编程 模拟SQL语句 实现对员工信息的增删改查
- Python实践 制作石头剪刀布游戏 带GUI界面
- Python 优雅地利用两点经纬度计算地理空间距离
- 别小看Spring过滤器,这些知识点你必须得掌握!
- 练习题︱ python 协同过滤ALS模型实现:商品推荐 + 用户人群放大
- python - 机器学习lightgbm相关实践
- python定时模块:apscheduler
- python将jwths256加密——pyjwt库
- python︱写markdown一样写网页,代码快速生成web工具:streamlit介绍(一)
- CPU的流水线指令设计
- python︱写markdown一样写网页,代码快速生成web工具:streamlit 重要组件介绍(二)
- python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三)
- python︱写markdown一样写网页,代码快速生成web工具:streamlit lay-out布局(四)
- python︱写markdown一样写网页,代码快速生成web工具:streamlit 数据探索案例(六)
- 多渠道归因分析:python实现马尔可夫链归因(三)
- 数栈技术分享:利用V8深入理解 JavaScript 设计