我正在编写程序,如果用户输入带整数的字符串,则会从用户那里获取输入,因此它会删除所有的整数&只打印字符。
letters = input("Enter Some Word Here: ")
ans = ""
for letter in letters:
x = ord(letter)
print(x)
if 65 <= x >= 90 or 97 <= x >= 122 or x == 32:
ans += letter
print(ans)
当我检查小写字符(if condition
)或空格(97 <= x >= 122
)时x == 32
语句有效,但它不能用大写字母(65 <= x >= 90
)。
答案 0 :(得分:3)
如果您想检查x
和65
inc。之间是否90
,您应该写65 <= x <= 90
,如果您写的话,它也可能会使您的代码更清晰ord('A')
代替65
和ord('Z')
代替90
。
答案 1 :(得分:2)
检查信件的正确方法是使用x.isalpha()
。这比使用序数值的幻数更清晰,如果您想要为非英语以外的语言运行代码(或者即使您只想使用任何words with accented characters,也可以使用。
如果不这样做,您至少应该直接与'A'
,'Z'
,'a'
,'z'
和' '
进行比较;您可以将字符与<=
和>=
进行比较。
你想要的是“'A'
小于或等于letter
且x
小于或等于'Z
'”,表示为{ {1}},就像常规数学一样。您拥有的内容'A' <= letter <= 'Z'
表示您希望65 <= x >= 90
大于或等于65且大于或等于90;这与它大于或等于90相同。