编写一个程序,判断一个变量名是否合法:其中变量名由字母,数字或者下划线组成并且变量名只能以字母或者下划线开头,否则变量名不合法。
1.通过遍历字符串进行判断
while True:
str=input("请输入变量名(-1退出):")
#变量名只能以字母或者下划线开头,否则变量名不合法
if str[0].isalpha() or str[0] == "_":
#变量名由字母,数字或者下划线组成
for i in str[1:]:
if not (i.isalnum() or i == "_"):
print("变量名 {0:} 不合法" .format(str))
break
else:
print("变量名 %s 合法" % str)
elif str == "-1":
break
else :
print("变量名 %s 不合法" % str)
2.用正则表达式判断
import re
while True:
str=input("请输入变量名(-1退出):")
if str == "-1":
break
else:
result = re.findall(re.compile(r'^[a-zA-Z_]{1}(\w)*$'), str)
if result:
print("变量名 %s 合法" % str)
else:
print("变量 %s 不合法" % str)