3

or関数の条件に問題があります。ifステートメントは、値が何であれ、評価を続けTrueますchoice。を削除するorと、if正しく動作します。

def chooseDim ():
    **choice = input ('Do you need to find radius or area? ')
    if choice == 'A' or 'a':**
        area = 0
        area = int(area)
        areaSol ()

    elif choice == 'R' or 'r':

        radSol ()

    else:
        print ('Please enter either A/a or R/r.')
        chooseDim ()
4

4 に答える 4

4

「a」は True と評価されるため、if ステートメントを正しく作成する必要があります。

def chooseDim ( ):
**choice = input ('Do you need to find radius or area? ')
if choice == 'A' or choice == 'a':**
    area = 0
    area = int(area)
    areaSol ( )

elif choice == 'R' or choice == 'r':

    radSol ( )

else:
    print ('Please enter either A/a or R/r.')
    chooseDim ( )
于 2013-01-02T01:00:51.903 に答える
4

それ自体についての答えorは正しいです。あなたは文字通り、真かどうかを尋ねています"a"が、それは常に真です。しかし、別のアプローチがあります:

if choice in 'Aa':

繰り返しますが、次の点に問題はありません。

if choice.lower() == 'a':
于 2013-01-02T01:07:29.280 に答える
2

inこの場合、演算子を使用する方が簡単です。

if choice in ['A', 'a']: ...
于 2013-01-02T01:06:53.410 に答える
0
if choice == 'A' or choice =='a':
于 2013-01-02T00:59:44.773 に答える