2017-07-14 3 views
0

私はpythonには新しく、Euclideanアルゴリズムを使用してGCDを見つけるpython3スクリプトを作成しようとしていますが、エラーが発生しています。Python 3予期しないエラーTypeError

コード:

firstnum = input("Enter the first number: ") 
secondnum = input("Enter the second number: ") 

if firstnum == secondnum: 
    print("GCD is: {}").format(firstnum) 
    quit() 

if firstnum > secondnum: 
    while True: 
     thirdnum = firstnum % secondnum 
     firstnum = secondnum 
     secondnum = thirdnum 
     if thirdnum == 0: 
      print("GCD is: {}").format(firstnum) 
      quit() 
     else: 
      continue 

if firstnum < secondnum: 
    while True: 
     thirdnum = secondnum % firstnum 
     secondnum = firstnum 
     firstnum = thirdnum 
     if thirdnum ==0: 
      print("GCD is: {}").format(secondnum) 
      quit() 
     else: 
      continue 

エラー:

Traceback (most recent call last): File "..\Playground\", line 21, in <module> 
    thirdnum = secondnum % firstnum 
TypeError: not all arguments converted during string formatting 

このエラーを修正する方法があれば、どのように、なぜそれが最初の場所で発生して説明してください。また、文字列の書式設定が新しくなったので、変数を使用して文字列を出力する効率的な方法を知っていれば教えてください。

答えて

1

この操作では、実際にあなたがint

firstnum = int(input("Enter the first number: ")) 
secondnum = int(input("Enter the second number: ")) 
に変換する必要が剰余演算を実行しようとしていた場合

thirdnum = firstnum % secondnum 

の書式文字列を実行しようとしています

関連する問題