簡體   English   中英

檢查字符是否是字母、數字或特殊字符 - PYTHON

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM