0

ユーザー入力を取り込んで、その値以上のすべての項目を 100 まで返す必要があるという問題があります。

私が持っている一連のデータからどのグレードを見たいかをユーザーに尋ねています。

したがって、ユーザーにグレードを入力してもらい、そのグレード以上の人のすべてのレコードを返します。

これが私がこれまでに持っているものです

私が引っ張っているデータの小さなサンプルは次のようになります

 ['Bud', 'Abbott', 51, 92.3]
 ['Don', 'Adams', 51, 90.4]
 ['Mary', 'Boyd', 52, 91.4]
 ['Jill', 'Carney', 53, 76.3]
 ['Hillary', 'Clinton', 50, 82.1]
 ['Randy', 'Newman', 50, 41.2]

これまでの私のコードは、ユーザーが正しい関数を入力していることを確認する if ステートメントと elif ステートメントのほんの一部です。この関数は、ユーザーが文字 g を入力すると、プログラムがグレードのしきい値を要求し、そのグレード以上のデータ行を返すように動作します。

たとえば、私がユーザーで、g を入力してから 90 を入力した場合、これらの 3 行だけが返されます。

 ['Bud', 'Abbott', 51, 92.3]
 ['Don', 'Adams', 51, 90.4]
 ['Mary', 'Boyd', 52, 91.4]

また、ユーザーが文字 S を入力すると、そのセクションのレコードが検索され、そのセクションのすべての学生が返されるため、ユーザーが s を入力してから 50 を入力すると、プログラムは次のように戻ります。

 ['Hillary', 'Clinton', 50, 82.1]
 ['Randy', 'Newman', 50, 41.2]

これまでに書いたコードは次のようになります

def Query ():
    input("enter query type (g or s):")
    #checks user's input and takes user to grades
    if (operator == "g"):
        print("You have chosen to query Grades")
    GradeThreshold=input("enter the Grade threshold:")


    #checks user's input and takes user to section 
    elif (operator == "s"):
         print("You have chosen to query Section")
    SectionNumber=input("enter the section:")


    elif (operator != "g") and (operator != "s"):
          print("Invalid entry. Please re-enter the operation from above.")
    return()

ユーザーの入力を取得して、上記のデータのリストからグレードの範囲またはセクション番号を選択する方法に困惑しています。私を助けてください。

4

1 に答える 1

0

アイテムを反復処理する必要があります。例えば:

items = [['Bud', 'Abbott', 51, 92.3],
         ['Don', 'Adams', 51, 90.4],
         ['Mary', 'Boyd', 52, 91.4],
         ['Jill', 'Carney', 53, 76.3],
         ['Hillary', 'Clinton', 50, 82.1],
         ['Randy', 'Newman', 50, 41.2]]

for item in items:
    print(item)

これにより、すべてのアイテムが順番に印刷されます。アイテムから値を取得するには、括弧を使用してインデックスでアクセスする必要があります。

for item in items:
    print item[2] # Prints the 3rd element in item (because indexes start at 0)

または、繰り返しながらアイテムを展開します。

for first_name, last_name, some_integer, grade in items:
    print('Name:', first_name, last_name)
    print('Grade:', grade)

この 2 番目の解決策は、各アイテムに含まれるアイテムが少ない場合に、より慣用的であると見なされます。アイテムが何で構成されているかがより明確になるため、好まれます。

宿題ということで、ここまででいいと思います。

于 2012-11-20T00:35:11.340 に答える