Εντολές ελέγχου

Εργαστήριο (χειμερινό εξάμηνο 2017)

  1. 05-cross
  2. 06-three-points
  3. 07-three-numbers
  4. 10-broken-line

Ασκήσεις κατανόησης

Άσκηση. Τι θα τυπώσουν οι παρακάτω εντολές;


n = 35
if n % 5 == 0:
   print('The number is divisible by 5')
elif n % 7 == 0:
   print('The number is divisible by 7')
else:
   print('I have no idea...')

Άσκηση. Υπάρχει κάποιο πρόβλημα με τις παρακάτω εντολές; Αν ναι, διορθώστε τα λάθη.


name = input('What is your name? ')
if name = Paul or "Mary":
    print('You have a pretty name')
else:
    print('Your name is OK ̇)

Άσκηση. Τι αποτέλεσμα θα δώσει το παρακάτω πρόγραμμα (αν δώσουμε ως input: maria):


s = input('Give your name: ')
m = 'Mary'
if s == m or s == 'Maria':
   print('Good!',s)
else:
   print('Better call you',m)

Άλλες ασκήσεις

Άσκηση. Γράψτε εντολές Python οι οποίες δεδομένης μιας θερμοκρασίας T τυπώνουν το μήνυμα Cold αν η θερμοκρασία είναι μικρότερη από 10 βαθμούς, το μήνυμα Hot αν η θερμοκρασία είναι μεγαλύτερη από 35 βαθμούς και το μήνυμα Pleasant διαφορετικά. [Κώδικας]

Άσκηση. Γράψτε ένα πρόγραμμα στο οποίο θα εισάγετε ένα κεφαλαίο γράμμα (A, B, C, D, και E) και θα σας δίνει ένα όνομα (Alice, Beatrice, Chris, etc) το οποίο αρχίζει από το δεδομένο γράμμα.

Άσκηση. Στην κλίμακα Fahrenheit το νερό παγώνει στους 32 βαθμούς και βράζει στους 212. Η θερμοκρασία Celcius προκύπτει από τον τύπο $C = (F-32)/(212-32)\,100$, όπου $C$ η θερμοκρασία Celcius και $F$ η θερμοκρασία Fahrenheit. Γράψτε ένα πρόγραμμα το οποίο θα ζητά από τον χρήστη τη θερμοκρασία Fahrenheit και μετά θα τυπώνει το μήνυμα hot αν η θερμοκρασία είναι μεγαλύτερη από 30oC, το μήνυμα cold αν η θερμοκρασία είναι μικρότερη από 15oC, και το μήνυμα pleasant αν η θερμοκρασία είναι από 15oC έως 30oC.

Άσκηση. Ένα έτος είναι δίσεκτο αν διαιρείται με το τέσσερα αλλά όχι με το 100, με εξαίρεση τα έτη που διαιρούνται με το 400 τα οποία είναι δίσεκτα. (Ποιός εισήγαγε τα δίσεκτα έτη και για ποιό λόγο;) Γράψτε ένα πρόγραμμα σε python το οποίο να ελέγχει αν ένα έτος είναι δίσεκτο ή όχι. [Κώδικας]

Άσκηση. Γράψτε εντολές οι οποίες ζητούν από το χρήστη να δώσει ένα γράμμα και ελέγχουν αν είναι φωνήεν (a, e, i, o, u) ή σύμφωνο, τυπώνοντας ταυτόχρονα και ένα κατάλληλο μήνυμα. Δεν χρειάζεται να ελέγξετε αν ο χαρακτήρας που έδωσε ο χρήστης είναι όντως γράμμα.

Άσκηση. Γράψτε ένα πρόγραμμα το οποίο θα βρίσκει και θα τυπώνει τον μέγιστο μεταξύ τριών ακεραίων x, y, z.

Λύση. Δείτε ένα πρόγραμμα. Η μέθοδος γενικεύεται εύκολα για οποιοδήποτε πλήθος αριθμών αλλά και στην εύρεση του ελαχίστου μεταξύ κάποιων αριθμών ή ακόμα και σε προβλήματα όπου ο ζητούμενος αριθμός ικανοποιεί περισσότερες από μια συνθήκες.

Άσκηση. Γράψτε ένα πρόγραμμα στο οποίο θα εισάγονται τρεις ακέραιοι x, y, z και θα τυπώνει τον μεγαλύτερο περιττό μεταξύ τους, ή ένα κατάλληλο μήνυμα αν και οι τρεις αριθμοί είναι άρτιοι.

Λύση. Θα γενικεύσουμε τη μέθοδο την οποία χρησιμοποιήσαμε σε προηγούμενη άσκηση.


x = 16; y = 19; z = 24
largest = None

if x%2 != 0 : largest = x
if y%2 != 0 and (largest == None or y > largest): largest = y
if z%2 != 0 and (largest == None or z > largest): largest = z

if largest != None:
    print('The max odd number among', x, y, z, 'is', largest)
else:
    print('All numbers are even.')

Δίνουμε αρχικά στη μεταβλητή largest την τιμή None, ώστε να χειριστούμε την περίπτωση όπου και οι τρεις αριθμοί είναι άρτιοι. Αν μετά τις συγκρίσεις των αριθμών ανά ζεύγη η τιμή της μεταβλητής αυτής παραμείνει None τότε και οι τρεις αριθμοί είναι άρτιοι. Παρατηρήστε ότι η σύγκριση δύο αριθμών γίνεται μόνο στην περίπτωση που είναι και οι δύο περιττοί.

Άσκηση. Εισάγετε τρεις πραγματικούς αριθμούς x, y, z και τυπώστε τους κατά φθίνουσα σειρά.