初学者的话确实可以通过 ascii table 来判断字母和数字的区别。Python 里面有两个内置函数 ord 和 chr 可用。
ascii table
通过判断其字的范围来确定是字母还是别的。确实可以达到你现在想要的目的。
不过我个人建议是,暂时不用太在意这种问题。这个也不是解决这些问题的理想方法。
当你以后学会使用正则表达式之后,回头看这个问题就十分简单了!
正则表达式才是解决字符串这类问题更理想的方法。这种方式的优势和能力之强等你学习到后就知道了。
程序如下(注意图中源代码的缩进)
s=input()
while(s!="?"):
alpha=0 #字母
space=0 #空格
digit=0 #数字
other=0 #符号
for ch in s:
if 'a'<=ch and ch<='z' or 'A'<=ch and ch<='Z':
alpha+=1
elif ch==' ':
space+=1
elif '0'<=ch and ch<='9':
digit+=1
else:
other+=1
print(f"字母为{alpha}个")
print(f"空格为{space}个")
print(f"数字为{digit}个")
print(f"符号为{other}个")
s=input()
本回答被提问者采纳