2016-04-26 160 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

相關問題