2016-04-26 170 views
-2

我在Python 3.4上做一个计算器。计算器会要求用户输入一个数字。我想限制这个,所以他们只能输入一个数字(我很好),或者按'C'键清除计算器。我似乎被禁止允许C以及任何整数。任何人都会提出任何有关这方面的方法?Python输入允许整数和一个字母字符

感谢

+2

你到目前为止有什么?也许我们可以建立在此基础上,而不是从头开始创建所有内容 – Mathias711

+0

请[编辑]您的问题并添加您尝试过的代码。 – 2016-04-26 07:00:02

+1

一次输入一个数字,或输入一个像1337这样的整数,然后按回车?另外,如果用户输入例如“42C” - 有效号码42,有效命令“C”还是无效?那么小数点呢?支持它们还是将输入限制为整数? –

回答

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

假设你正在服用的用户输入一个接一个:

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

这是你在找什么?

+0

仅在输入为单个数字时有效。它不允许诸如'42'的输入。 –

+0

这真的取决于他如何实施它。对于这个计算器,我假设他正在逐个读取输入并附加到一个字符串以供显示。 – plsnoban

相关问题