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
。
我正在 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
。