【发布时间】:2020-10-17 23:26:03
【问题描述】:
给定一个字符串,打印它是数字、单词还是数字和字母的混合。 如果所有字符都是数值,则打印 NUMBER。如果都是字母,打印 单词。如果是混合的,打印 MIXED。
value = 'nka121fsd132'
for i in range(len(value)):
if ((ord(value[i])>=65 and ord(value[i])<=90) or
(ord(value[i])>=97 and ord(value[i])<=122)):
name="WORD"
elif (ord(value[i])>=48 and ord(value[i])<=57):
name="NUMBER"
elif (((ord(value[i])>=65 and ord(value[i])<=90) or
(ord(value[i])>=97 and ord(value[i])<=122)) or
(ord(value[i])>=48 and ord(value[i])<=57)):
name="MIXED"
print(name)
这里打印的是NUMBER,而不是MIXED。
【问题讨论】:
-
输出是
NUMBER,因为 value 的最后一个元素是一个数字。您的循环遍历所有元素,并在每次迭代时设置name。顺便说一句 -for i in value:是 Python 的方式。
标签: python-3.x string ascii