2011-12-02 9 views
-1

私はこのコードをC++で書いていましたが、それは私には私がPythonで書くべきだと思っていたので、 "*関数の[戻り値]([ハードドライブに配置]、7行目)"。私はそれを検索し、それがインデントと関係があることを発見したので、そのコード行を書き直しましたが、私はまだこのエラーを受け取ります。また、プログラム自体は間違っている可能性が高く、私はあなたがそれを修正するよう求めているわけではありませんが、理論的にはうまくいくはずです。また、10進数を数値としてバイナリに変換することもあります。前もって感謝します :)。Pythonの 'return'関数のエラーが発生しました

class gimmeANumber(): 
    while True: 
     Number = raw_input("Please can you input a number from 0 to 255\n") 
     if Number < 0 or 255 < number: 
      print "Please enter a valid number\n" 
     else: 
      return Number 

class decToBinary(): 
    Binary_Converter = 128 
    i = 0 
    Binary = 0 
    while True: 
     Number = gimmeANumber() 
     ONumber = Number 
     while (true): 
      if (Number - Binary_Converter) >= 0: 
       Number =- Binary_Converter 
       Binary_Converter /= 2 
       Binary += 10**7-i 
      else: 
       Binary_Converter /= 2 
      i += 1 
      if i == 8: 
       break 
    print "\nThe origanal number was " + str(ONumber) + " Now it is " + str(Binary) + " in Binary.\n" 

答えて

3

"class"キーワードのために、クラスを定義しているとPythonに伝えています。

しかし、 "def"を使用して関数を定義する必要があります。

この作業を行うには、いくつか修正する必要があります。たとえば、gimmeANumber()は数値を返すはずですが、現在は文字列を返します。関数は次のようになります。

def gimmeANumber(): 
    while True: 
     Number = raw_input("Please can you input a number from 0 to 255\n") 
     Number = int(Number) 
     if Number < 0 or 255 < Number: 
      print "Please enter a valid number\n" 
     else: 
      return Number 
4

defclassを変更してみてください:

は、ここでは、コードです。

0

Pythonは、小数点からバイナリ(bin())に変換する機能を内蔵しています。

number = int(raw_input('Give me a decimal integer, please: ')) 
print '%d in decimal is equivalent to %s in binary' % (number, bin(number)[2:]) 

と小数点するために、任意のベースから変換するため、あなたはこのような何か行うことができます:不思議な

number = int(raw_input('Give me a binary integer, please: ')) 
print '%d in binary is equivalent to %d in binary' % (number, int(number, 2)) 
+0

を彼は、ベース10の値として2進数を計算しているように、それが見えます。つまり、10を入力すると、文字列 "12"ではなく小数点12が生成されます。 –

関連する問題