Python 输入允许整数和一个字母字符

Python input allowing integers and one alpha character

我正在 Python 3.4 上制作一个计算器。计算器将要求用户输入一个数字。我想对此进行限制,以便他们只能输入一个数字(我对此很好)或按 'C' 键来清除计算器。我似乎被允许 C 以及任何整数所困扰。有人建议解决这个问题的任何方法吗?

谢谢

假设您要一一接收用户输入:

import string
allowed = string.digits+'C'
if input in allowed:
    doSomethingWith(input)

这是您要找的吗?

您可以使用此代码,前提是用户能够输入由多个数字组成的数字,例如 1337,但没有小数点。混合数字和 "C" 的输入是无效的,只有当输入仅包含字母 "C" 而没有其他内容时, "C" 才会被检测到。忽略前导和尾随空格。

def get_input():
    inp = input("Enter a number or 'C' to clear: ").strip()
    if inp.upper() == "C":
        return "C"
    if inp.isdigit():
        return int(inp)
    else 
        return None

此函数将 return 输入的数字作为整数,或字符串 "C",如果输入无效则 None