2017-11-06 3 views
-1
def reporta(): 
    with open("userinfo.txt","r") as f: 
     text = [line.strip() for line in f] 
     ulist = [x.split(",") for x in text] 
    for n in range(len(ulist)): 
     uname = input("Which username do you want to see?\n") 
     if uname == ulist[n][0]: 
      print("The username is",ulist[n][0],"\nThe user's password is",ulist[n][1],"\nThe user's name is", 
        ulist[n][2],"\nThe user's age is",ulist[n][3],"\nThe user's year group is",ulist[n][4]) 
      for i in range (5,11): 
       if i == 5: 
        if ulist[n][i] == "-1": 
         print("Maths easy has not been taken by",ulist[n][0]) 
        else: 
         print(ulist[n][0],"got",ulist[n][i]) 
       elif i == 6: 
        if ulist[n][i] == "-1": 
         print("Maths medium has not been taken by",ulist[n][0]) 
        else: 
         print(ulist[n][0],"got",ulist[n][i]) 
       elif i == 7: 
        if ulist[n][i] == "-1": 
         print("Maths hard has not been taken by",ulist[n][0]) 
        else: 
         print(ulist[n][0],"got",ulist[n][i]) 
       elif i == 8: 
        if ulist[n][i] == "-1": 
         print("History easy has not been taken by",ulist[n][0]) 
        else: 
         print(ulist[n][0],"got",ulist[n][i]) 
       elif i == 9: 
        if ulist[n][i] == "-1": 
         print("History medium has not been taken by",ulist[n][0]) 
        else: 
         print(ulist[n][0],"got",ulist[n][i]) 
       else: 
        if ulist[n][i] == "-1": 
         print("History hard has not been taken by",ulist[n][0]) 
        else: 
         print(ulist[n][0],"got",ulist[n][i]) 
      break 

、私は、しかし、ユーザ名が入力されるに従ってファイルから物事を印刷しようとしていますリストの2行目または3行目にユーザー名を入力するには、ユーザー名を2〜3回入力する必要があります。私は何を含んでいない/間違っているのですか?(どのように私は、必要であれば、それはいくつかの部分を無視するように取得することができます)コードのこの部分で

例:

file contains: 
aad15,arbiter,aadam,15,11,-1,-1,-1,-1,-1,-1 
jam11,jammy,james,11,15,-1,-1,-1,-1,-1,-1 
ton15,tonehh,tony,15,11,-1,-1,-1,-1,-1,-1 
mas15,radicallx,mash,15,11,-1,-1,-1,-1,-1,-1 

ユーザ名としてI入力aad15もしそれがすることになっているとして、それはプログラムを実行します。私がjam11を入力した場合、それが何をする前に2回入力する必要があります。もし私がton15を入れたら、それを3回入力する必要があります。

+0

あなたは[ask]と[mcve]を見てください。 – pvg

+0

この質問をどのように表現するか分かりません@pvg –

+0

エントリの上を走るループの中に 'input各エントリに必要なものが見つかるまで –

答えて

1

プレーンでシンプル:ループ内に入力行があるため、ループのすべてのパスでユーザー入力を要求しています。 uname = input("Which username do you want to see?\n")を上記の行に移動してくださいfor n in range(len(ulist)):

ただし、@pvgに記載されているように、using examples when asking questionsのガイドラインをご確認ください。

+0

ありがとう、私は今ガイドラインを見に行きます –

関連する問題