2017-01-16 104 views
-2

我目前正在測試我的Python編程知識作爲學生並不能得到萊恩(),以一個簡單的程序,它要求用戶爲該最大用戶名工作12個字母長如何爲字符串的輸入長度添加驗證?

Name = input("What Is Your Player Name\t") 
# Check That The User Has Got A Maximun Of 12 Characters 
if Name.len(0-13): 

else: 
    print("Your Name Can Only Contain 12 Characters") 
+0

沒有'len()'字符串函數,有'__len__'應該用作'len(Name)'。如果第一個條件爲True,那麼也沒有聲明,所以你的代碼將不起作用。 –

+2

我強烈建議您閱讀文檔;不清楚爲什麼你認爲一個字符串有一個'len'方法,或者它爲什麼會返回一個布爾值,或者爲什麼'0-13'會被解釋爲一個有效範圍(而不是'-13')。只是猜測不是學習語言的有效手段。 – jonrsharpe

回答

0

在使用len()其他答案的擴展,你可能要考慮使用一個while-loop要求用戶再次輸入名稱,如果是喜歡超過12個字符,以便:

while(True): 
    name = input("What is your Player Name: ") 
    if len(name) > 12: 
    print("Your Player Name can only contain a maximum of 12 characters") 
    else: 
    break; 

print("\nYou entered the Player Name: %s" % name) 

試試吧here!

+0

個人而言,我建議不要提供完整的作業問題解決方案,尤其是沒有解釋爲什麼您的解決方案比他們提供的解決方案更好。這對提問者編程來說越新越重要,因爲他們會根據相同的根誤解問題提問。 – TemporalWolf

+0

我在這裏指出的是我的答案的一些解釋:我提供了一個指向'len()'的pydoc的鏈接,因爲@OP應該學習如何在將來爲自己的利益使用它。我將變量'Name'改爲'name',因爲在大多數情況下,python中的變量應該使用[snake_case](https://en.wikipedia.org/wiki/Snake_case)。我改變了打印語句以更準確地反映'if語句'實際正在測試的內容。最後,我添加了「while循環」,這通常是這類問題的自然延續。 – shash678

0

在Python將String傳遞給len函數以返回String的長度。

len(Name)