Μάθημα 3 - Ασκήσεις

...ασύγχρονα μαθήματα python

Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό medigeek » 12 Ιούλ 2009, 10:04

Οι ασκήσεις για το μάθημα 3:
http://files.ubuntu-gr.org/learning/python/03-controlflow-questions.html

Οι απαντήσεις θα δοθούν στο τέλος της βδομάδας (δε θα διορθώνονται!).
Στο μεταξύ δικαιούστε να δίνετε τις απαντήσεις εδώ, βοηθώντας ο ένας τον άλλο.

Εισαγωγή

:idea: Να σκέφτεστε αρκετές φορές προτού απαντήσετε!
:idea: Δοκιμάστε με οποιοδήποτε τρόπο μπορείτε να σκεφτείτε για να λύσετε μια άσκηση. :think:
:idea: Κοιτάξτε και λίγο τι μπορείτε να βρείτε στο http://www.google.com :problem:
:idea: Καλή τύχη! :thumbup:

(Υπάρχει περίπτωση να έγινε λάθος, γι' αυτό διορθώστε μας όπου προσέξετε κάτι :thumbup: )

Απαντήσεις: http://forum.ubuntu-gr.org/viewtopic.php?f=55&t=6057&p=60970#p60970
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό ant.dsk » 13 Ιούλ 2009, 01:57

Απάντηση 1
Spoiler: show
if, for, while


Απάντηση 2
Spoiler: show
if..elif...else...,for..in..,while...,break...,continue....


Απάντηση 3
Spoiler: show
#!/usr/bin/python
# Filename: apantisi3.py

num = 13
apantisi = int(input('Εισάγετε έναν ακέραιο αριθμό: '))

if apantisi == num:
print('Κακός αριθμός.')
else:
print('Καλός αριθμός.')


Απάντηση 4
Spoiler: show
#!/usr/bin/python
# Filename: apantisi4.py

if "":
print('""=Alithes')
else:
print('""=Psevdes')
if " ":
print('" "=Alithes')
else:
print('" "=Psevdes')

print('Telos')
>>>
""=Psevdes
" "=Alithes
Telos


Απάντηση 5
Spoiler: show
x = []
if x: # ψευδές, είναι άδειο
print("OK!")
y = [0]
if y[0]: # ψευδές, το 0 άρα το πρώτο είναι 0
print("OK!")
z = [2]
if z[0]:# Αλιθές, το 0 άρα το πρώτο είναι 2
print("OK!")
άρα
z = [2]
if z[0]:
print("OK!")
>>> ΟΚ


Απάντηση 6
Spoiler: show
#!/usr/bin/python
# Filename: apantisi6a.py

x=1

while x:
print (x)


#!/usr/bin/python
# Filename: apantisi6.py

a=1
b=1

while True:
if a:
print(a)
a=a+b
continue


Απάντηση 7
Spoiler: show
Το beak για να σταματήσουμε τον βρόχο και να βγούμε από αυτόν και το continue για να επαναλάβομε τον βρόχο.


Ερώτηση 8

Δώστε ένα παράδειγμα χρήσης του range (ή xrange)
Spoiler: show
#!/usr/bin/python
# Filename: apantisi8.py

a=1
for a in range(1,101): #Μετράμε μέχρι το 100
print (a)
a=a+1
Τελευταία επεξεργασία από medigeek και 13 Ιούλ 2009, 09:15, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αιτία: Συγχώνευση και χρήση spoiler
ant.dsk
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 10 Ιούλ 2009, 11:24
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό DarkLord » 13 Ιούλ 2009, 03:57

γιατ'ι δεν τα βάζεις όλα σε ένα ποστ κ σε
spoiler για κάθε απάντηση ??
DarkLord
babeTUX
babeTUX
 
Δημοσιεύσεις: 81
Εγγραφή: 24 Ιαν 2009, 15:26
Τοποθεσία: Karvasaras
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό ant.dsk » 13 Ιούλ 2009, 23:16

Απάντηση 10
Spoiler: show
#!usr/bin/python


def menu():
print ('Έχετε τις παρακάτω επιλογές:\n Αν είναι Πρωί επιλέξτε 1\n Αν είναι Απόγευμα επιλέξτε 2\n Αν έιναι βράδι επιλέξτε 3\n Για έξοδο επιλέξτε 4\n\n')
global a
a = input('Πιά είναι η επιλογή σας;___ ')

def input_check():
if a=='1':
print ('\n---------Καλημέρα--------\n')
elif a== '2':
print ('\n---------Καλησπέρα-------\n')
elif a == '3':
print ('\n---------Καλή Νύκτα------\n')
elif a== '4':
print('\n----------Αντίο-----------\n')
else:
print ('\nSOS.....Λάθος επιλογή......SOS\n')

def main():
while True:
menu()
input_check()
if a == '4':
break

main()

Έχετε τις παρακάτω επιλογές:
Αν είναι Πρωί επιλέξτε 1
Αν είναι Απόγευμα επιλέξτε 2
Αν έιναι βράδι επιλέξτε 3
Για έξοδο επιλέξτε 4


Πιά είναι η επιλογή σας;___ 1

---------Καλημέρα--------

Έχετε τις παρακάτω επιλογές:
Αν είναι Πρωί επιλέξτε 1
Αν είναι Απόγευμα επιλέξτε 2
Αν έιναι βράδι επιλέξτε 3
Για έξοδο επιλέξτε 4


Πιά είναι η επιλογή σας;___ 2

---------Καλησπέρα-------

Έχετε τις παρακάτω επιλογές:
Αν είναι Πρωί επιλέξτε 1
Αν είναι Απόγευμα επιλέξτε 2
Αν έιναι βράδι επιλέξτε 3
Για έξοδο επιλέξτε 4


Πιά είναι η επιλογή σας;___ 3

---------Καλή Νύκτα------

Έχετε τις παρακάτω επιλογές:
Αν είναι Πρωί επιλέξτε 1
Αν είναι Απόγευμα επιλέξτε 2
Αν έιναι βράδι επιλέξτε 3
Για έξοδο επιλέξτε 4


Πιά είναι η επιλογή σας;___ 5

SOS.....Λάθος επιλογή......SOS

Έχετε τις παρακάτω επιλογές:
Αν είναι Πρωί επιλέξτε 1
Αν είναι Απόγευμα επιλέξτε 2
Αν έιναι βράδι επιλέξτε 3
Για έξοδο επιλέξτε 4


Πιά είναι η επιλογή σας;___ akjsdjakld

SOS.....Λάθος επιλογή......SOS

Έχετε τις παρακάτω επιλογές:
Αν είναι Πρωί επιλέξτε 1
Αν είναι Απόγευμα επιλέξτε 2
Αν έιναι βράδι επιλέξτε 3
Για έξοδο επιλέξτε 4


Πιά είναι η επιλογή σας;___ 4

----------Αντίο-----------
ant.dsk
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 10 Ιούλ 2009, 11:24
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό DarkLord » 18 Ιούλ 2009, 19:43

Η ερώτηση 4 μήπως θα ήταν καλύτερα να γραφτεί κάπως έτσι ???
Ποιά η διαφορά του "" με το " " μετά από ένα if σε ένα απλό βρόγχο.


Ερώτηση 7
Spoiler: show
Η εντολή break χρησιμοποιείται για τη διακοπή μιας εντολής βρόχου,η εντολή continue χρησιμοποιείται για να υποδείξουμε στην Python να παραλείψει τις υπόλοιπες εντολές στην τρέχουσα πλοκάδα

Ερώτηση 8
Κώδικας: Επιλογή όλων
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

for i in range(1,51) :#απότο 1 έως το 50
    print(i)


Ερώτηση 10
Κώδικας: Επιλογή όλων
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

def menu():
    lista = ["1) Επιλογή πρώτη","2) Επιλογή δεύτερη","3) Επιλογή τρίτη","4) Pathste 4 gia na bgeite"]
    for i in lista:
        print(i)


def input_check():
    while True:
        epilogi = input("Δώσε επιλογή: ")
        if epilogi == '1' :
            print("-" +epilogi + "-")
            break
        elif epilogi == '2':
            print("-" +epilogi + "-")
            break
        elif epilogi == '3':
            print("-" +epilogi + "-")
            break
        elif epilogi == '4':
            break
        else:
            print("WARNING: Bad command")
           
def main():
    menu()
    input_check()

main()

DarkLord
babeTUX
babeTUX
 
Δημοσιεύσεις: 81
Εγγραφή: 24 Ιαν 2009, 15:26
Τοποθεσία: Karvasaras
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό sokoban4ever » 20 Ιούλ 2009, 03:33

Ερώτηση 1

Ποιες είναι οι βασικές δεσμευμένες λέξεις στην Python που αποτελούν τον έλεγχο ροής;
Spoiler: show
είναι οι :
for while if else elif

Ερώτηση 2

Ποιες είναι όλες οι δεσμευμένες λέξεις στην Python που αφορούν τον έλεγχο ροής;
Spoiler: show
for while if break continue else elif finally

Ερώτηση 3

Δώστε ένα παράδειγμα κώδικα όπου θα ζητείτε από τον χρήστη να γράψει τον αγαπημένο του αριθμό ο χρήστης θα μπορεί να απαντήσει 1 φορά και η εφαρμογή θα τερματίζει.
θα εμφανίζεται ένα μήνυμα που θα σχολιάζει θετικά οποιαδήποτε αριθμό εκτός από το 13. Σε περίπτωση που ο χρήστης απαντήσει 13 θα εμφανιστεί ένα αρνητικό σχόλιο.
Spoiler: show
Κώδικας: Επιλογή όλων
number = 13
answer= int(input('Δώσε ένα αριθμό: '))
if answer== number:
print('Είσαι Γρουσούζης ? .')
else:
print(' Ωραίος αριθμός πολύ πρωτότυπος ')

Ερώτηση 4

Ποιά η διαφορά του "" με το " " μετά ένα if σε ένα απλό βρόγχο.
Spoiler: show
Το "" είναι κενή συμβολοσειρά (string) και είναι false
ενώ το " " είναι true


Ερώτηση 5

Έχουμε τον παρακάτω κώδικα:

Κώδικας: Επιλογή όλων
    x = []
    if x:
        print("OK!")
    y = [0]
    if y[0]:
        print("OK!")
    z = [2]
    if z[0]:
        print("OK!")


Πότε εμφανίζεται στην οθόνη το «ΟΚ» και γιατί;
Spoiler: show
εμφανίζεται μετά το z
1) η κενή λίστα (list) είναι false
2)οποιοδήποτε αριθμητικό στοιχείο μιας λίστας είναι true εκτός από το 0
επίσης οποιοδήποτε στοιχείο τύπου συμβολοσειράς μιας λίστας είναι true εκτός από το κενό ""


Ερώτηση 6

Δείξτε 2 απλά παραδείγματα ατέρμων βρόγχου ( forever loop )

Spoiler: show
while 1:
pass

while True
print ("hmm")


Ερώτηση 7

Πότε χρησιμοποιείται το break και πότε το continue.
Spoiler: show
Το break για να σταματήσουμε τον βρόχο ,να βγούμε από αυτόν και να επανέλθει η ροή του προγράμματος στον υπόλοιπο κώδικα( αν υπάρχει)
με άλλα λόγια ακυρώνει το έλεγχο του βρόγχου μέσα στον οποίο ανήκει και τον σταματάει
Το continue προχωράει στο επόμενη επανάληψη ενός βρόγχου προσπερνώντας (αγνοώντας την παρούσα)

Ερώτηση 8

Δώστε ένα παράδειγμα χρήσης του range (ή xrange)

Κώδικας: Επιλογή όλων
for i in range(0,102,2):
     print (i)

Ερώτηση 9 - Ερώτηση 10
Δημιουργήστε ένα πρόγραμμα ώστε να εμφανίζει ένα μενού (κείμενο) με 3 επιλογές και 1 επισήμανση την επιλογή 1 την επιλογή 2 και την επιλογή 3 και 4 την επισήμανση "Pathste 4 gia na bgeite" κάθε φορά που ο χρήστης πληκτρολογεί είτε το 1 ή το 2 ή το 3 το πρόγραμμα θα εμφανίζει μέσα σε παύλες "-" το αντίστοιχο όνομα της επιλογής.

* Ο χρήστης πρέπει να μπορεί να τερματίσει το πρόγραμμα μόνο πατώντας το 4 - με κανένα άλλο χαρακτήρα! (Οι συνδυασμοί χαρακτήρων όπως Ctrl-C εξαιρούνται)
* Ο χρήστης εάν πατήσει οτιδήποτε άλλο εκτός από 1 ή 2 ή 3 ή 4 το πρόγραμμα θα πρέπει τότε να του εμφανίσει ένα μήνυμα "WARNING: Bad command" και να ξαναδώσει το μενού.
* Το while πρέπει να χρησιμοποιηθεί.
Δημιουργήστε το πρόγραμμα από την ερώτηση 9 χρησιμοποιώντας συναρτήσεις:

* menu() - Θα εμφανίζει το μενού.
* input_check() - Θα ελέγχει τον αριθμό που έχει δοθεί (1, 2, 3 ή 4) και θα πράττει ανάλογα.
* main() - Ολόκληρο το πρόγραμμα και οι ελέγχοι θα τρέχουν μέσω του main.

Spoiler: show
Κώδικας: Επιλογή όλων
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

def menu():
   lista = ["1) Επιλογή πρώτη","2) Επιλογή δεύτερη","3) Επιλογή τρίτη","4) Pathste 4 gia na bgeite"]
        for i in lista:
       print(i)


def input_check():
   while True:
           epilogi = raw_input("Δώσε επιλογή: ")
      menu()
           if epilogi == '1' :
                print("-" +str(epilogi) + "-")
           elif epilogi == '2':
                print("-" +str(epilogi) + "-")
           elif epilogi == '3':
                print("-" +str(epilogi) + "-")
           elif epilogi == '4':
                print("-" +str(epilogi) + "-")
      break
      
      else:
                print("WARNING: Bad command")
                   
def main():
   menu()
        input_check()

main()


(Υπάρχει περίπτωση να έγινε λάθος, γι' αυτό διορθώστε μας όπου προσέξετε κάτι :thumbup: )
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό Luke » 05 Αύγ 2009, 01:13

Κάποια μικρά σχόλια σχετικά με την άσκηση 9-10.

  1. Στα blocks των επιλογών 1,2,3 δε θα έπρεπε να υπάρχει break καθώς σύμφωνα με την εκφώνηση το πρόγραμμα τερματίζει μόνο δίνοντας '4' ως επιλογή.
  2. Στο else block θα έπρεπε να καλείται η menu() μετά το print, σύμφωνα με τις προδιαγραφές της εκφώνησης.
  3. Στα print των επιλογών εμφανίζεται σε όλες τις περιπτώσεις το ίδιο μήνυμα (και όχι '-επιλογή 1-', '-επιλογή 2-', κλπ όπως λέει η εκφώνηση).
1 Γνώσεις ⇛ Linux: Χαμηλό προς Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
2 Λειτουργικά → Ubuntu 10.04 lucid 64bit (en_US.utf8), Windows 7
3 Προδιαγραφές → Intel Core i5-2500 CPU @ 3.30GHz ‖ RAM 7916 MiB ‖ MSI H67MA-E35 (MS-7680) - MSI MS-7680
4 Κάρτες γραφικών: Intel Sandy Bridge Integrated Graphics Controller [8086:0102] (rev 09)
5 Δίκτυα: eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06)
Άβαταρ μέλους
Luke
babeTUX
babeTUX
 
Δημοσιεύσεις: 91
Εγγραφή: 23 Μάιος 2009, 21:31
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό sokoban4ever » 06 Αύγ 2009, 19:45

@Luke
Μπράβο που το είδες :thumbup:
Spoiler: show
Το βράδυ θα το διορθώσω :D <-- done :!: ;)

ΟΚ done ;) :thumbup:
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό malos » 14 Αύγ 2009, 01:56

Παιδιά το spoiler δεν δουλεύει. Κάθε "show" που πατάω με βγάζει .... για δείτε το.
Πολλές από τις ασκήσεις δεν τις απάντησα και δεν έχω δει πουθενά την απάντηση γιατί κάτι δεν δουλεύει.
Μπορείται να το φροντίσετε ;
Δεν θέλω να πω τι μηχανήματα έχω. Είναι προσωπικά δεδομένα ΕΝΤΑΞΕΙ ; !!!
Άβαταρ μέλους
malos
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1128
Εγγραφή: 02 Νοέμ 2008, 12:00
Εκτύπωση

Re: Μάθημα 3 - Ασκήσεις

Δημοσίευσηαπό sokoban4ever » 14 Αύγ 2009, 05:47

@malos
Off topic:
Λογικά θα έχεις την javascript disabled
γράψε
about:config στην μπάρα διευθύνσεων
και στην τιμή
javascript.enabled ( που θα είναι false )
με διπλό κλίκ κάνε την true
Ξανα άρχισε τον browser και θα είσαι ok
Αν παραμένει δες μην έχεις μέσω κάποιου add on όπως το web developer toolbar
αυτά
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Επόμενο

Επιστροφή στο Μαθήματα python