Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
54 lines (42 sloc) 3.83 KB
''' άσκηση από το http://pythonies.mysch.gr/chapters/craps.pdf
Γράψτε μια συνάρτηση flip(), η οποία θα μιμείται τη ρίψη ενός νομίσματος, επιστρέφοντας με τυχαίο τρόπο είτε το 0, είτε το 1. Κατασκευάστε πρόγραμμα το οποίο θα παίζει Κορώνα-Γράμματα με το χρήστη. Το πρόγραμμα θα ρωτάει τον παίκτη αν επιλέγει Κορώνα ή Γράμματα (0 για Κορώνα και 1 για Γράμματα), θα προσομοιώνει τη ρίψη του νομίσματος καλώντας τη flip και θα ενημερώνει τον παίκτη αν κέρδισε ή έχασε. Κάντε το πρόγραμμά σας επαναληπτικό, με το παιχνίδι να σταματά όταν ο χρήστης σε κάποιο γύρο δεν επιλέξει ούτε Κορώνα, ούτε Γράμματα.
Tροποποιήστε το πρόγραμμά σας έτσι ώστε να “κλέβει” το χρήστη. Χωρίς να γίνεται ρίψη του νομίσματος, κάντε το πρόγραμμα ν’ ανακοινώνει ότι το αποτέλεσμα της ρίψης του κέρματος ήταν το αντίθετο από αυτό που επέλεξε ο παίκτης.
Για να γίνει το πρόγραμμα πιο πειστικό, καλό θα ήταν να μην κερδίζει πάντα, αλλά ν’ αφήνει μερικές φορές και το χρήστη να κερδίσει και να αισθανθεί τυχερός... Σε αυτές τις περιπτώσεις, χωρίς να γίνεται ρίψη του νομίσματος, το πρόγραμμα θ’ ανακοινώνει ότι το αποτέλεσμα της ρίψης του κέρματος ήταν το ίδιο με αυτό που επέλεξε ο παίκτης.
'''
import time
import random
def flip():
return random.randint(0,1)
print("Θα παίξουμε Κορώνα-Γράμματα.")
while True:
print("Δώσε την επιλογή σου. (0) Κορώνα, (1) Γράμματα ή οτιδήποτε άλλο για τερματισμό.")
player = int(input())
# αν ο παίκτης δώσει κάτι διαφορετικό εκτός από 0 ή 1 τότε τερματίζουμε άμεσα την επανάληψη με break
if player < 0 or player > 1:
print("Αντίο!")
break
# προτροπή
print("Πάτα ENTER για ρίψη του νομίσματος...", end = "")
input()
# τυχαία επιλογή έκβασης παιχνιδιού
# αν η win ξεπερνά το 90, μόνο τότε ο παίκτης κερδίζει
win = random.randint(1,100)
if win > 90:
# ο παίκτης θα κερδίσει: χωρίς να κληθεί η flip(),
# ανακοινώνεται ως αποτέλεσμα η ίδια επιλογή
# με εκείνη του παίκτη
if player == 0:
print("Το κέρμα ήρθε Κορώνα.")
else:
print("Το κέρμα ήρθε Γράμματα.")
print("Κέρδισες!")
else:
# ο παίκτης θα χάσει: χωρίς να κληθεί η flip(),
# ανακοινώνεται ως αποτέλεσμα η αντίθετη επιλογή
# από εκείνη του παίκτη
if player == 0:
print("Το κέρμα ήρθε Γράμματα.")
else:
print("Το κέρμα ήρθε Κορώνα.")
print("Έχασες!")
time.sleep(2)
You can’t perform that action at this time.