[英]Check whether a character is an alphabet, digit or special character- PYTHON
Ques - 檢查字符是字母、數字還是特殊字符
我寫了一個 python 代碼解決方案,它運行良好。 但是當我輸入(“@”)時,我得到 output 作為字母而不是特殊字符。 有人可以告訴我為什么以及如何為@解決它。
inp = input("Enter anything : ")
if inp >= "a" and inp <= "z" or inp >= "A" and inp <= "Z":
print("input is alphabet")
elif inp>="0":
print("input is number")
else:
print("special character")
elif inp>="0" and inp<="9":
print("input is number")
您需要指定數字集的結尾。 其他一切都應該保持不變。
您還可以使用 Python 的 String 方法isalpha()
和isnumeric()
。
def get_char():
"""
Prompt user for character input, or exit if user
enters more than a single character.
:return: The user input character.
"""
inp = input("Enter any character: ")
if len(inp) != 1:
print("Invalid entry, please try again.")
exit(65) # os.EX_DATAERR, but portable
return inp
def check_char(inp):
"""
Inspect character to determine if it is alpha, numeric, or special.
:param inp: The character to inspect.
:return: String indicating character identification.
"""
if inp.isalpha():
msg=f'{inp} is alpha char'
elif inp.isnumeric():
msg=f'{inp} is numeric char'
else:
msg=f'{inp} is special char'
return msg
while True:
print(check_char(get_char()))
只需為special char
添加一個特殊類別
import re
inp = input("Enter anything : ")
if inp >= "a" and inp <= "z" or inp >= "A" and inp <= "Z":
print("input is alphabet")
elif inp>="0" and inp<="9":
print("input is number")
special_characters = "!@#$%^&*()-+?_=,<>/"
if (any(c in special_characters for c in inp)):
print("special character")
您還可以依賴string
模塊並檢查組是否包含您的輸入:
import string
inp = input("Enter anything : ")
if inp in string.ascii_letters:
print("input is alphabet")
elif inp in string.digits:
print("input is number")
else:
print("special character")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.