首页 > 解决方案 > 为什么 <= 在 Python 中评估字符串的一系列字符?

问题描述

我有一个任务是编写一个 python 程序,要求用户输入一个字符,然后检查它是字母数字(不是特殊字符)还是数字,或者两者都不是,并打印它是什么。

出于好奇,我正在测试下面的方法,认为它会返回错误或打印无效输入。但是你瞧,它实际上工作得很好,但我不知道为什么。

c = input("Enter a character: ")

if 'a' <= c.lower() <= 'z' and len(c) == 1:   # .lower() in case the input is either capital or lowercase
    print('Your character', "'" + c + "'", 'is an alphabetical letter')
elif '0' <= c <= '9' and len(c) == 1:
    print('Your character', "'" + c + "'", 'is a digit')
else:
    print('Invalid input')

标签: pythonstring

解决方案


根据价值比较文档

字符串(的实例str)使用其字符的数字 Unicode 代码点(内置函数的结果)按字典顺序进行比较ord()


推荐阅读