0

私はcodeacademyでpythonを学んでいて、宿題に役立つプログラムを作りたいと思っていました.pythagoras a 2 +b 2 =c 2から始めました.codeacademyでは完璧に動作しますが、実際のpythonで試してみるとプログラムが機能せず、何が問題なのかを読み取る前に閉じます。

a = input ("what is a")
b = input ("what is b")

a = a*a
b = b*b
c =  a+b

from math import sqrt
c = sqrt (c)

print (c)

私はそのかなり基本的なことを知っていますが、私はまだ学んでいますが、Pythonコードアカデミーのバージョンがどのバージョンかはわかりませんが、使用しているPythonプログラムが3であることはかなり確信しています

4

5 に答える 5

3

ここに型変換の問題があると思います。したがって、整数に変換する必要があります。

from math import sqrt
a = int(raw_input("what is a: "))
b = int(raw_input("what is b: "))

a = a*a
b = b*b
c = a+b

c = sqrt (c)
print (c)

また、出力を読み取る前にプログラムを閉じる必要がないようにするには、ターミナルから pythonfile を実行する必要があります。

于 2013-03-01T17:51:30.893 に答える
0

パイソン 2:

>>> a=input()
123
>>> a #is an int
123

パイソン 3:

>>> a=input()
123
>>> a #is a string
'123'
于 2013-03-01T17:54:38.170 に答える
0

input文字列 (type ) を返しますstrint乗算を機能させるには、次のようにそれらから整数 (型) を作成する必要があります。

a = int(input("what is a?"))
b = int(input("what is b?"))

または、ユーザーが小数を入力できるようにする場合は、次を使用しますfloat

a = float(input("what is a?"))
b = float(input("what is b?"))
于 2013-03-01T17:52:13.460 に答える
0

型変換の問題があります。floatan (または a intここでは 2 つの違いについて少し説明します)にキャストすると、すべてうまくいきます。

a = float(input ("what is a"))
b = float(input ("what is b"))

また、Python インタープリターの使用も検討する必要があります。これは、コードを手動でステップ実行しようとしたときに得られたものです。

>>> a = input('what is a')
what is a3
>>> a*a # I put 3 in as my number, but it gave me the str value of '3'!
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'str'

また、より良いエラー メッセージを表示できるようにすることもお勧めtry...exceptします。それを使用whileすると、次のように作業するものがあることを確認できるようになります。

# Make them keep inputting "a" until they give you something 
# you can actually work with!
while 1:
    try:
        a = float(input ("what is a"))
        break
    except TypeError:
        print('That was not a number! please try again')

注: これは、入力が int を返す可能性があるため、Python 2.x で発生することではありません。

于 2013-03-01T17:51:53.423 に答える
-1

これを python デバッガーで実行すると、行ごとに何が起こっているかが表示され、どの行に問題があるかがわかります。あなたが Python の初心者であることは知っていますが、できるだけ早くデバッガーの使用方法を学習すると、学習プロセスが大幅に速くなります。試す:

python -m pdb myscript.py
于 2013-03-01T17:53:08.927 に答える