2016-08-04 2 views
-2

商と剰余を出力するプログラムを作成していますが、quotientProblem関数をquotientStringという名前に変更するのは、文字列を直接出力するのではなく文字列を返します。主関数にquotientString関数の各呼び出しの結果を出力させます。'なし'が商と剰余の出力に表示されています

def value(): 
    a=int(input("Enter a number: ")) 
    b=int(input("Enter next number: ")) 
    z=print("When",a,"is divided by",b,"the remainder is",a%b,"and the quotient is",a//b,".") 
    print (division(a,b,z)) 
def division(x,y,z): 
    return z 
value() 

私はNoneここ

>>>Enter a number: 5 
>>>Enter next number: 3 
When 5 is divided by 3 the remainder is 2 and the quotient is 1 . 
None 

を実行し表示し続けます。

答えて

0

printの結果をzとして割り当てました。 printには特定のリターンがありません。つまり、Noneを返します。 divisionファンクションがそれを印刷します。 printの戻り値は使用しないでください。私はあなたが何をすることを期待しているのか分かりませんが、有用なものにzを初期化することは、可能な結果ではありません。

+0

5を3で割ったときの余りは2であり、商は1です。私はこれを表示したい。 –

0

何が起こると思われますか? divisionは、3つの引数をとり、最後を返す関数です。従ってdivision(a, b, z)zを返します。 zとは何ですか?戻り値はprintです。 print関数はNoneを返します。従ってdivision(a, b, z)Noneです。従って、あなたのprint(division(a,b,z))行はNoneを印刷します。

+0

これを行う方が良いでしょうか?私が望むのは、これを表示することです。「5を3で割ったときの余りは2で、商は1」です。 –

+0

このままにしておきます: 'print(「a、」を「、b」で割ったときの余りは「、a%b」で商は「、a // b」です。 ' ' z = 'を削除し、' print(division(a、b、z)) 'を削除してください。 –

+0

返品はどうですか?それを使わなければならないのですか? zを完全に排除するために、私はそれを使用してはいけません。しかし私の範囲は、リターンを使って出力を表示することでした。どうしたらいいですか? –

関連する問題