@nbtgzb · Post #75 · 28.12.2023 г., 10:24
【老师编号】:#NBTG047 【老师昵称】:#yoyo ,#美少女 【修车水费】:#12P 【是否验证】:#已验 ,验证报告 【联系方式】:@yoyojiushiwo 【宁波天一生水】
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #84 · 13 мај
В продолжение прошлого поста про цифры в мире строк. Почему методы isdigit() и isnumeric() не определяют в строке float и отрицательные значения? Дело в том, что эти методы работают с ЦИФРАМИ, то есть с единичным символом. А строка "-2" или "3.4" это уже ЧИСЛО. То есть не символ а значение, записанное несколькими символами. Все озвученные методы проходятся по каждому символу строки и проверяют их индивидуально. В юникоде есть символы цифр с точками "🄀⒈⒉⒊⒋⒌⒍⒎⒏⒐" Каждая из них это ОДИН СИМВОЛ, поэтому он будет считаться цифрой >>> '⒌'.isdigit(), '⒌'.isnumeric() True, True Но когда мы пишем это выражение в два символа ( 5+точка), то это не работает. >>> '5.'.isdigit(), '5.'.isnumeric() False, False А еще есть такие символы >>> '⑴⑵⑶⑷⑸'.isdigit() True >>> '🄁🄂🄃'.isdigit() True Но они не преобразуются в десятичные цифры >>> '⒈'.isdecimal() False >>> '🄃'.isdecimal() False >>> '⑶'.isdecimal() False #basic
Hashtags