我在Python 3.4上制作计算器。计算器将要求用户输入一个数字。我想限制这个,所以他们只能输入一个数字(我很好)或者按下' C'清除计算器的关键。我似乎陷入了允许C以及任何整数的困境。有人建议采取任何方式解决这个问题吗?
由于
答案 0 :(得分:0)
您可以使用此代码,假设用户应能输入由若干个数字组成的数字,如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
如果输入无效,此函数将返回输入的数字整数或字符串“C”或None
。
答案 1 :(得分:-1)
假设您逐个接受用户输入:
import string
allowed = string.digits+'C'
if input in allowed:
doSomethingWith(input)
这是你正在寻找的吗?