2016-09-14 1 views
0

http://ideone.com/QxPDFh

Das ist mein Programm, das ich arbeite, aber ich brauche die amount_denom die $ mit der Nummer angezeigt werden soll. Wie würde ich das schaffen? Ich muss die Print-Anweisung reparieren, aber wie? Ich bin neu im Codieren, manchmal kann ich die offensichtlichen Dinge nicht sehen. Vielen Dank.

def main(): 

    denominations = [20, 10, 5, 1, .25, .10, .05, .01] 
    used_denom = [] 
    amount_denom = [] 

    user_input = float(input('enter a dollar amount: ')) 

#Keep asking user to re-enter input until they enter a value (0-200) 
    while user_input < 0 or user_input > 200: 
     user_input = float(input('re-enter a dollar amount: ')) 

#Traverse the list to breakdown the user_input into denominations. 
    remainder = user_input 
    for d in denominations: 
     num_denom = int(remainder/d) 

     if num_denom > 0: 

      used_denom.append(d) 

      amount_denom.append(num_denom) 

#Avoid dividing by a float (prevents .01 issue from occurring) 
     remainder = (remainder*100) % (d * 100)/100 

#Traverse the amount_denom list and print the output to be formatted a certain way. 
    for i in range(len(amount_denom)): 

     print("{0: 2d}{1:8.2f}".format(amount_denom[i],used_denom[i]),end = "") 
     print("s" if amount_denom[i] > 1 else "") 


main() 

print("{0: 2d} ${1:8.2f}".format(amount_denom[i],used_denom[i]),end="") 

dies zeigt mir nur: https://gyazo.com/ff41f5c82567c71cca05340f23a51e98

heraus gefunden, dass ich nur die 8.2f ändern 5.2f die $ und die used_denom das Format Ich mag beizutreten. Vielen Dank.

+0

Wenn ich Eingang 25: die Ausgangs Bedürfnisse Zeige 1 $ 20 1 $ 5 zum Beispiel. – Spencer456

+0

Haben Sie versucht, ein '$' in die Formatzeichenfolge zu setzen? –

Antwort

0

Können Sie einen $ zu Ihrer print Aussage hinzufügen?

print("${0: 2d}{1:8.2f}".format(amount_denom[i],used_denom[i]),end = "") 

oder:

print("{0: 2d} ${1:8.2f}".format(amount_denom[i],used_denom[i]),end = "") 

Sie die $ platzieren können, wo immer Sie in der Zeichenfolge wollen. Sie können auch andere Zeichen (z. B. _ oder -) innerhalb der Zeichenfolge hinzufügen.

weißen Räume um die Variablen zu entfernen, verwenden Sie strip():

print("{0: 2d} ${1:8.2f}".format(amount_denom[i].strip(),used_denom[i].strip()),end = "") 

wenn amount_denom und used_denom sind keine Strings, erste Konvertit mit str():

print("{0: 2d} ${1:8.2f}".format(str(amount_denom[i]).strip(),str(used_denom[i]).strip()),end = "") 
+0

Es bringt es an den falschen Ort. Ich brauche den $ nur vor used_denom zu gehen. – Spencer456

+0

ok, siehe Update zur Antwort – NickBraunagel

+0

Es setzt das $ nach dem Betrag_denom aber direkt danach hat ein Leerzeichen vor used_denom. Ich brauche es, um menge_denom 'space' dann $ used_denom – Spencer456

Verwandte Themen