簡體   English   中英

只允許字符串/整數沒有小數

[英]Only allowing a string/integer no decimals

我該怎么辦:

  1. 只允許字符串/整數輸入
  2. 不允許小數

轉換為 int 並測試 str.isalpha:

while True:
    inp = raw_input() # input() python3
    try:
        inp = int(inp)
        break
    except ValueError:
        if inp.isalpha():
            break
        print("Invalid input")

如果你真的想要兩個不同的變量:

def get_name():
    while True:
        name = input("Enter your name: ")
        if name.isalpha():
            return name
        print("Invalid input")

def get_age():
    while True:
        age = input("Enter your age")
        try:
            return int(age)
        except ValueError:
            print("Invalid input")


name = get_name()
age = get_age()

使用isalnum內置函數。

>>> s = 'a'
>>> s.isalnum()
True
>>> s = '12'
>>> s.isalnum()
True
>>> s = '12.34'
>>> s.isalnum()
False
>>> s = 'ab12'
>>> s.isalnum()
True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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