2017-01-14 102 views
2

我是一個Python初學者,我正在努力改進我的GCSE計算機科學課程的代碼。 所有我希望能夠做的就是限制輸入到7 這裏位數,所有的東西我迄今爲止:在python中限制輸入字符串的長度

print("Hello") 
time.sleep(0.5) 
print("What is your 7-digit product number?") 
while True: 
try: 
    productnumber= (str(int(input(" ")))) 
    break 
except ValueError: 
    print("Please only enter numbers") 
    time.sleep(1) 
    print() 
    print("What is your 7-digit number?") 

任何幫助表示讚賞,我嘗試添加一個嵌套的循環,但我到目前爲止,我沒有運氣,就像我之前提到的那樣,我是一個完美的初學者。 非常感謝!

+0

請編輯您的文章並添加您正在觀察的確切/具體錯誤。這將幫助其他人更輕鬆地幫助你。 – xlm

+0

@xlm儘管我已經得到了答案,但我肯定會這樣做,謝謝你的反饋! – khushi

+0

檢查是否len(productnumber)<= 7'? –

回答

2

上面的代碼沒有正確縮進,因爲沒有任何內容在以while True:開頭的無限循環內。我懷疑只是try - except塊應該去那裏。您需要將條目限制爲七個字符是if。考慮以下內容:

while True: 
    try: 
    productnumber = str(int(input(" "))) 
    if len(productnumber) > 7: 
     print("You may only enter seven digits") 
    else: 
     break 
    except ValueError: 
    print("Please only enter numbers") 
    time.sleep(1) 
    print() 
    print("What is your 7-digit number?") 

len函數計算字符串的長度。

還有其他幾種方法可以使您的代碼更好,包括使用camelCase作爲變量名稱。

快樂python學習!

+0

非常感謝您的超級快速回復,我非常感謝!也感謝您的建議,我將您的代碼合併到我的代碼中,並且它非常完美!非常感謝你,你是絕對的生命保護者! – khushi

+0

閱讀[PEP-8](https://www.python.org/dev/peps/pep-0008/#id45)。 'snake_case'被推薦用於方法和變量名稱,而不是'camelCase'。這不是JavaScript。 – MattDMo

+0

@MattDMo我明白了!非常感謝你告訴我! – khushi