1
imn1 2020-08-30 18:36:00 +08:00
什么意思?
is_alphabet('A') 返回 False 么? |
2
skinny 2020-08-30 19:31:38 +08:00
Python 没有 char 类型
|
3
skinny 2020-08-30 19:35:25 +08:00
你一定要按这个函数的样子写,你用 chr 函数把单个字符转换成 int
|
4
baobao1270 2020-08-30 19:53:38 +08:00
(uchar >= u'\u0041' and uchar<=u'\u005A') 是 ASCII 大写字母 A-Z
(uchar >= u'\u0061' and uchar<=u'\u007A') 是 ASCII 小写字母 a-z 注释都说了,这个智能判断是否为字母,而不能判断是大写还是小写…… 你这个写法也不够 Pythonic,可以写成 (u'\u0041' <= uchar <=u'\u005A') or (u'\u0061' <= uchar <=u'\u007A') @skinny Python 是可以直接比较字符串的 ASCII 值的 可以尝试以下代码: from enum import Enum class InAlphabetResult(Enum): UpperCase = 1 LowerCase = 2 NotInAlphabet = 3 def in_alphabet(char): if "a" <= char <= "z": return InAlphabetResult.LowerCase if "A" <= char <= "Z": return InAlphabetResult.UpperCase return InAlphabetResult.NotInAlphabet |
5
baobao1270 2020-08-30 19:55:35 +08:00 1
缩进没了,我贴个链接吧
https://pastebin.ubuntu.com/p/MGZqgWGCSr/ |
6
songdg OP @baobao1270 谢谢帮忙。
|
7
laike9m 2020-08-31 10:24:21 +08:00 1
|
9
biglazycat 2020-09-12 07:03:07 +08:00
def in_alphabet(char):
char = str(char) if char.islower(): return 'LowerCase' elif char.isupper(): return 'UpperCase' else: return 'NotInAlphabet' print(in_alphabet('a')) print(in_alphabet('A')) print(in_alphabet(1)) 写的很粗糙,目前的理解就写样了。请多多指教。 |