2017-01-15 17 views
-1

私はこのエラーが発生して以来私のプログラムを実行することはできませんが、GreedyをCからPython(Pythonの新人初心者)に変換しようとしています:SyntaxError: 私はここや他のところでいくつかの答えを見てきましたが、私のコードでそれを取り除くことはできませんでした。助けてください。 他の論理エラーの入力も大好きです。cs50 Pythonの貪欲 - 解析中のEOF?

#!usr/bin/python3 
'''CS50- Greedy programme in C translated to Python''' 
import math 

def main(): 
    print("welcome to the change game!") 

#prompt user for change 
change = float(raw_input("enter change as x.xx: ")) 
if (change < 0 or change == 0): 
    print("change must be a positive number:") 
elif not isinstance(change, float): 
    print("change must be a positive number: ") 
else: 
    break 

change = round(change * 100) 
#determine different coin usage 
quar = changeCal(change, 25) 
dime = changeCal(change, 10) 
nick = changeCal(change, 5) 
penn = changeCal(change, 1) 

#verify functions correctness and print 
if (change == 0): 
    print("{}".format(quar+dime+nick+penn)) 
    return 0 
else: 
    print("couldn't process") 
    return 1 

def changeCal(change, n): 
#calc. change/subtraction 
    i = 0 

if (change >= 0): 
    for i in range(change, n, 1): 
     change = (change - n) 
    return i 

if __name__=='__main__':  
+1

'__name __ == '__ MAIN__' の場合は 'のPythonに翻訳Cで貪欲なプログラムCS50-':'何をするの?あなたはちょうどそこで冷やす 'if'節を持つことはできません。それは何かを含んでいなければならない。 –

+0

明らかにあなたは正しいです、私はPythonプログラムの解剖学には初めてです。主な機能が適切に組み込まれるように再編成する方法に関する提案はありますか? – Gordon

答えて

0

は、いくつかの変更を働いたと誰もが興味を持っていた場合、それを動作するように管理します。 !

#USR/binに/のpython3 '' '' 輸入数学

def main(): 

#prompt user for change 
    change = 0 
    islegal = False 
    while not islegal: 
     change = float(input("enter change as x.xx: ")) 
     if (change <= 0): 
      print("change must be a positive number:") 
     elif not isinstance(change, float): 
      print("change must be a positive number: ") 
     else: 
      islegal = True 

#determine different coin usage 
#for quarters 
    QUARTER = 25 
    DIME = 10 
    NICKEL = 5 
    PENNIES = 1 
    cent_amount = round(change * 100) 
    quarter_count = int (cent_amount/QUARTER) 
    leftover = cent_amount % QUARTER 

    #for dimes 
    dime_count = int (leftover/DIME) 
    leftover = leftover % DIME 

    #for nickels 
    nickel_count = int(leftover/NICKEL) 
    leftover = leftover % NICKEL 

    # leftover remains only pennies 
    coin_count = quarter_count + dime_count + nickel_count + leftover 

    #verify functions correctness and print 
    print (coin_count) 

if __name__=='__main__': 
    main()