0

この単純なプログラムは、リストからエントリをカウントし、リストに含まれていないエントリをカウントするだけでなく、いくつあったかを出力する必要があります。しかし、何らかの理由で、リストからのものであるかどうかにかかわらず、すべてのエントリをcountInとしてカウントします...あなたの提案に感謝します!

   fruitsList = ['Apple', 'Banana', 'Grape', 'Peach', 'Mango',
                      'Pear', 'Papaya', 'Plum', 'Grapefruit', 'Cantaloupe']
    countIn=0
    countOut=0

    while True:
        response=input('Enter a fruit name (enter X to exit): ')
        if response.upper() == 'X':
            break
        for response in fruitsList:
            if response in fruitsList:
               countIn += 1
               break
            else:
               countOut += 1
    print('The user entered' , countIn, ' items in the list')
    print('The user entered' , countOut, ' items not in the list')
4

1 に答える 1

3

試す:

#!user/bin/env python

fruitsList = ['Apple', 'Banana', 'Grape', 'Peach', 'Mango',
                      'Pear', 'Papaya', 'Plum', 'Grapefruit', 'Cantaloupe']
countIn=0
countOut=0

while True:
    response=input('Enter a fruit name (enter X to exit): ')
    if response.upper() == 'X':
        break
    elif response.title() in fruitsList:
        countIn += 1
    else:
        countOut += 1
print('The user entered' , countIn, ' items in the list')
print('The user entered' , countOut, ' items not in the list')

for ループは必要ありません。

編集:また、応答文字列に title() 関数を追加することで、大文字と小文字を区別しないようにしました。

于 2017-10-04T02:37:22.927 に答える