0

これの出力は何ですか?出力が表示されますが、なぜそれが起こるのか理解できません。

def multiple(x,y):  
    mul = x*y  
    return mul  

x=int(raw_input("Enter value 1 ")),  
y=int(raw_input("Enter value 2 "))  
print multiple(x,y)
4

4 に答える 4

4

あなたのコードで,は、最初のraw_input手段の最後にあるxは、実際にtupleはユーザー入力を含む です。関数を呼び出すと、実際に行っているのは、タプルに整数を掛けることです。これは、タプルを ( x)y倍するだけです。

例えば:

>>> x = 2,
>>> x * 5
(2, 2, 2, 2, 2)
>>> x = 2
>>> x * 5
10
于 2013-02-17T03:50:31.327 に答える
2

コンマはx、サイズ 1 のタプル (int を含む) と等しくなります。

簡単なテスト:

>>> a = 1,
>>> print a
(1,)
于 2013-02-17T03:50:04.887 に答える
2

これに関する大きな誤りは、x と y が数値 (別名文字列) でない場合、関数が混乱することです。これは次のように修正できます: try: mul = float(x) * float(y) x または y が数値でない場合をキャッチするには、 except TypeError: print('Please do not give a string...') この場合、mul が無効であることを示したいので 、try ステートメントと except ステートメントに沿って次のように言いmul = None ます。return mul.

これにより、入力が文字ではなく小数点数であることが保証されます。

于 2013-02-17T03:59:09.570 に答える
0

まず最初に、と呼ばれる関数を定義します。この関数はand (のパラメータ) をmultiple乗算し、その値を返します。次に、2 つの異なる変数の入力を受け取り(上記のパラメーターとは異なります)、乗算し ( を呼び出して)、それらを出力します。これが出力として表示されます。xymultiplexymultipleprint

ただし、カンマは単にxタプルとして定義します。

于 2013-02-17T03:49:50.940 に答える