0

ユーザーが31までの数字を入力するたびに上院議員の名前を出力するプログラムを構築しようとしています。特定の数字にそれぞれ属する上院議員のリストがあり、ユーザーが数字を入力すると結果が返されますは対応する上院議員名です。ただし、プログラムを実行すると、エラーメッセージが表示され続けます

"Index Error: List index out of range".

私は何を間違っていますか?コードは次のとおりです。

def main():
    senators = ['Kevin Eltife', 'Bob Deuell','Robert Nichols', 'Tommy Williams',
                'Charles Schwertner', 'Sylvia Garcia', 'Dan Patrick', 'Ken Paxton',
                'Kelly Hancock', 'Wendy Davis', 'Larry Taylor', 'Jane Nelson',
                'Rodney Ellis', 'Kirk Watson', 'John Whitmire', 'John Carona',
                'Joan Huffman', 'Glenn Hegar', 'Carlos Uresti', 'Juan "Chuy" Hinojosa',
                'Judith Zaffirini', 'Brian Birdwell', 'Royce West', 'Troy Fraser',
                'Donna Campbell', 'Leticia Van de Putte', 'Eddie Lucio, Jr.',
                'Robert Cuncan', 'Jose Rodriguez', 'Craig Estes', 'Kel Seliger']

    district_number = int(input('Give the senator''s district number (enter 0 to end): '))
    while district_number > len(senators):
        print('That district number does not occur in Texas.')
        district_number = int(input('Enter another valid district number (enter 0 to quit): '))

    while district_number != 0:
        print('That district is served by the honorable ', senators[district_number - 1], '.', sep='')
        district_number = int(input('Enter another district number (enter 0 to quit): '))

# Call the main function.
main()

助けてください...ありがとう。=)

4

3 に答える 3