2015-10-17 65 views
1

我需要一些幫助。我不明白我做錯了什麼。我需要檢查用戶輸入的第一個數字的代碼。例如,我輸入號碼34566,它會查看第一個數字並打印「他」或「她」。閱讀用戶輸入的第一個數字

也許有人可以給我一些建議如何解決它。

print("Sisesta isikukood") 
isikukood[0] = int(input()) 

if (isikukood[0] == 1 or isikukood[0]== 3 or isikukood[0]== 5): 
    print("He") 
else: 
    if isikukood[0] == 2 or isikukood[0]== 4 or isikukood[0] == 6: 
     print("She") 
    else: 
     print("Vale isikukood") 

回答

0

以字符串形式獲取輸入。然後得到這個輸入的第一個數字,如isikukood [:1]。由於第一個數字現在是一個字符串(不是整數),所以應該將它與一個字符串進行比較。

print("Sisesta isikukood") 
isikukood = str(input()) 

if (isikukood[:1] == '1' or isikukood[:1] == '3' or isikukood[:1] == '5'): 
    print("He") 
elif isikukood[:1] == '2' or isikukood[:1]== '4' or isikukood[:1] == '6': 
    print("She") 
else: 
    print("Vale isikukood") 

埃杜:)

+0

Nüüd峯korras olema :) – Harry

+0

Tänudnüüd圖麗2võimalust:上tunduvaltlühemd AJAB veel詳細信息segadusse手稻。 Teine siisvõrdlebnumbreid nagu aru saan ja sinu oma stringe,sainõigestiaru? :) – Martin

+0

Mõlemadvõrdlevadtegelikult stringe。 Teine kasutab lihtsalt head meetodit「in」,misvõrdlebetteantud stringi(sinu puhul siis ik esimene number)kõikidemassiivis/listis olevate elementidega。 Teeb asjatõestiloetavamaks。 – Harry

1

相反的轉換字符串(由input()返回的值),把它作爲一個字符串。您可以使用索引運算符來獲取第一個字符:

print("Sisesta isikukood") 
num = input() # no `int(..)` 

if num[:1] in ('1', '3', '5'): 
    print("He") 
elif num[:1] in ('2', '4', '6'): 
    print("She") 
else: 
    print("Vale isikukood") 

注意:字符應與字符比較。 ('1', '3', '5', ...代替1, 3, 5

+0

是的,但是,當我把超過1個數字它現在說最後els。 – Martin

+0

@Martin,超過1個數字?你什麼意思? – falsetru

+0

例子,當我把2456它說最後埃爾斯,因爲現在它只讀取1租船者 – Martin