1
  method = input("Is it currently raining? ")
if method=="Yes" :
  print("You should take the bus.")
else: distance = input("How far in km do you want to travel? ")
if distance == > 2:
    print("You should walk.")
elif distance ==  < 10 :
  print("You should take the bus.")
else: 
  print("You should ride your bike.")

Nvm、私はそれを修正しました..同じ問題を抱えていてGrok Learningを使用していた人にとって、それは単なるインデントの問題であり、intを書くのを忘れていました...

4

2 に答える 2

2

2番目の質問を追加したので、2番目の回答を追加します:)

Python 3 では、input()関数は常に文字列を返し、最初に変換しないと文字列と整数を比較できません (Python 2 では、ここで異なるセマンティクスがありました)。

>>> distance = input()
10
>>> distance
'10' <- note the quotes here
>>> distance < 10
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() < int()

文字列を整数値に変換するには、次を使用しますint(string)

>>> distance = int(distance)
>>> distance
10 <- no quotes here
>>> distance < 10
False

(また、上記のコード スニペットにはインデントの問題があることにも注意してください。「はい」と答えるかどうかに関係なく、「距離 < 2 の場合」の行になります。これを修正するには、インデントする必要があるすべてのものをインデントする必要があります。 「else」ブランチも同様です。)

于 2013-07-22T17:19:03.190 に答える