2016-12-05 1 views
0

Entweder ich verwende nicht die richtige Suchzeichenfolge oder das ist tief in den Interwebs vergraben. Ich weiß, dass wir nicht nach Hausaufgaben fragen sollen, aber ich möchte nicht, dass der Code antwortet, ich möchte wissen, wo ich ihn finde, weil mein GoogleFu kaputt ist.Option zum Speichern der Ausgabe auf dem Bildschirm als Textdatei (Python)

Zuordnung ist, ein Programm zu erstellen, die zwei 6-seitige Würfel n mal rollen, mit n benutzerdefiniert ist, zwischen 1 und 9. Das Programm schreitet dann die Ergebnisse zeigen, mit "Snake Eyes!" wenn die Rolle 1-1 ist, und "Boxcar!" wenn die Rolle 6-6 ist. Es muss auch ValueErrors (wie wenn jemand "drei" anstelle von "3" setzt) ​​und eine Nachricht zurückgeben, wenn der Benutzer eine Zahl wählt, die keine ganze Zahl 1-9 ist.

Cool, ich habe all das. Er möchte aber auch, dass der Benutzer gefragt wird, ob er die Ausgabe in einer Textdatei speichern möchte. Äh. Yeah, habe das Buch und meine Notizen überprüft, und er hat das nicht erwähnt AT ALL. So, jetzt bin ich fest. Kann mir jemand in die richtige Richtung zeigen oder mir sagen, was ich konkret suchen soll, um Hilfe zu finden?

Danke!

+0

'print()' ein Argument 'file', der die Datei zur Ausgabe zu beschreiben. Standardmäßig ist dies "sys.stdout". – AChampion

Antwort

0

Sie können so etwas tun, um Ihre endgültige Ausgabe in einer Textdatei zu speichern.

def print_text(your_result):  
    with open('results.txt', 'w') as file: 
     file.write(your_result) 

# Take users input 
user_input = input("Do you want to save results? Yes or No") 

if(user_input == "Yes"): 
    print_text(your_result) 

Ich hoffe, das

+0

Aber wie gebe ich ihnen die Option? Es kann nicht einfach direkt darauf schreiben, sie müssen eine Datei gespeichert haben wollen. Ich kann eine Datei importieren und anhängen, weiß nur nicht, wie ich die Option dort hinein bekomme. – JillyBean1899

+0

Offenbar habe ich meinen Code nicht richtig eingerichtet, weil ich keine Ahnung habe, was ich an die Stelle von "your_result" stellen soll. Und ich werde den Code hier nicht einfügen, weil er zu lang ist. Ich bin so frustriert damit. Ich bin kein Coder, ich studiere MIS lol. – JillyBean1899

+0

Dann segne dich Gott. Viel Spaß –

0

Schauen Sie sich die Eingabefunktion hilft:

https://docs.python.org/3.6/library/functions.html#input

Es Sie Eingabe von einem Benutzer verlangen können und speichern sie in einer Variablen.

+0

Ich weiß, wie man sie fragt, wenn sie es gespeichert haben wollen, aber ich habe keine Ahnung, wie man es tatsächlich speichert, was es auf den Bildschirm setzt. – JillyBean1899

0

Nun, es ist nicht schön, aber ich kam mit dieser:

def print_text(): 
    with open('results.txt', 'w') as file: 
     file.write(str(dice)) 

loop = True 
import random 
min = 1 
max = 6 
dice = [] 
while loop is True: 
    try: 
     rolls = int(input("How many times would you like to roll the dice? Enter a whole number between 1 and 9: ")) 
    except ValueError: 
     print("Invalid option, please try again.") 
    else: 
     if 1 <= rolls <= 9: 
      n = 0 
      while n < rolls: 
       n = n + 1 
       print("Rolling the dice ...") 
       print("The values are:") 
       dice1 = random.randint(min, max) 
       dice2 = random.randint(min, max) 
       dice.append(dice1) 
       dice.append(dice2) 
       print(dice1, dice2) 
       diceTotal = dice1 + dice2 
       if diceTotal == 2: 
        print("Snake Eyes!") 
       elif diceTotal == 12: 
        print("Boxcar!") 
     else: print("Invalid option, please try again.") 

    saveTxt = input("Would you like to save as a text file? Y or N: ") 
    if saveTxt == "Y" or saveTxt == "y": 
     print_text() 
     break 
Verwandte Themen