python中input()函数会把任意用户输入的数据当作字符串处理,返回的是字符串
例如:
'''用户输入字母和数字时,输出该字母或数字的ASCII值,当输入非数字 或字母(如特殊符号"@""*""[""\")时,退出程序'''
while True:
s = input("请输入字母或数字:\n").strip()
if s.isdigit() or s.isalpha():
x = ord(s)
print(s, "对应的ASCII值为:", x)
else:
print("退出程序")
break
注意区分ord()函数和oct()函数
ord():将一个字符x转换为它对应的整数值
oct():将一个整数x转为为一个八进制的字符串
以上未考虑到输入字符超过1个的情况,修改:
while True:
s = input("请输入字母或数字:\n").strip()
if len(s) == 1:
if s.isdigit() or s.isalpha():
x = ord(s)
print(s, "对应的ASCII值为:", x)
else:
print("退出程序")
break
else:
print("输入字符长度不合法,请重新输入")