简体   繁体   English

只允许字符串/整数没有小数

[英]Only allowing a string/integer no decimals

How would I go about:我该怎么办:

  1. Only allowing a string/integer input只允许字符串/整数输入
  2. Not allowing decimals不允许小数

cast to int and test str.isalpha:转换为 int 并测试 str.isalpha:

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

If you actually want two different variables:如果你真的想要两个不同的变量:

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()

Use isalnum built-in function.使用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