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

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

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

Δημοσίευσηαπό da_perama1 » 14 Αύγ 2009, 15:04

Ίσως η παρακάτω υλοποίηση της άσκησης 10 να είναι πιο κατανοητή.

Spoiler: show
Κώδικας: Επιλογή όλων
#!/usr/bin/python3
#Filename: askisi3_9.py

def menu():
    lista = [' 1.',' 2.',' 3.',' 4. Έξοδος ']
    print()
    print('********************* MENU ****************************')
    for i in lista:   
        print(i)
    print()
def input_check(x):
    if x == 1:
        print('+-++-+-+-+ 1 +-+-+-+-+')
    elif x == 2:
        print('+-++-+-+-+ 2 +-+-+-+-+')
    elif x == 3:
        print('+-++-+-+-+ 3 +-+-+-+-+')
    elif x == 4:
        return 4
    else :
        print('Δώσε έναν ακέραιο από 1 έως 4 ')
    return
def main():
    while True:
        menu()
        a = int(input('Δώσε την επιλογή σου : '))
        if input_check(a) == 4 :
            break

main()


Η βασική διαφορά σε σχέση με την official απάντηση είναι ότι ο βρόχος είναι μέσα στη main() και η input_check() εκτελεί μόνον ότι λέει το όνομά της , ελέγχει δηλαδή την επιλογή του χειριστή του προγράμματος.
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.04 precise 64bit (el_GR.UTF-8), Ubuntu 3.0.0-17-generic
3 Intel Core i5 CPU 650 3.20GHz ‖ RAM 7783 MiB ‖ Intel DH55TC -
4 Intel Core Processor Integrated Graphics Controller [8086:0042] (rev 02)
5 eth0: Intel 82578DC Gigabit Network Connection [8086:10f0] (rev 06)
da_perama1
punkTUX
punkTUX
 
Δημοσιεύσεις: 289
Εγγραφή: 11 Νοέμ 2008, 20:35
Τοποθεσία: Κέρκυρα
Εκτύπωση

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

Δημοσίευσηαπό AngelBreath » 06 Οκτ 2009, 19:23

Μεχρι ενα σημειο το πηγα καλα..) Λιγο με το true, false και break χαθηκα. Μαλλον δεν εχω καταλαβει καλα το True False. Οταν δεν υπαρχει ορισμα για το τι ειναι True και ποτε γινεται false.

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

lista = ["1) Επιλογή πρώτη" ,"2) Επιλογή δεύτερη" , "3) Επιλογή τρίτη", "4) Πατήστε 4 για να βγείτε"]
def menu():
   print ("----MENU ΕΠΙΛΟΓΩΝ----")
   for i in lista:
      print (i)
def input_check():
   while True:
      epilogi = int(input( 'Παρακαλώ κάντε μία επιλογή :'))
      if epilogi == 1:
         print ("-" ,lista[0] ,"-")
      elif epilogi == 2:
         print ("-" ,lista[1] , "-")
      elif epilogi == 3:
         print ("-" ,lista[2] , "-")
      elif epilogi == 4:
         False
         print ("Τέλος προγράμματος")
         break
      else:
         print (" Πρέπει να επιλέξετε απο το 1 εως το 4 ")
      
def main():
   menu()
   input_check()
      
main()
AngelBreath
babeTUX
babeTUX
 
Δημοσιεύσεις: 46
Εγγραφή: 05 Νοέμ 2008, 23:29
Εκτύπωση

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

Δημοσίευσηαπό da_perama1 » 06 Οκτ 2009, 19:39

Το πρόγραμμά σου δουλεύει ακριβώς το ίδιο και όταν απαλειφθεί η γραμμή που περιέχει το False.
Όταν γράφουμε while True : δημιουργούμε ένα βρόχο επανάληψης (loop ) που σταματά μόνο με break ή αν η συνάρτηση στην οποία βρίσκεται επιστρέφει κάποια τιμή με return.
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.04 precise 64bit (el_GR.UTF-8), Ubuntu 3.0.0-17-generic
3 Intel Core i5 CPU 650 3.20GHz ‖ RAM 7783 MiB ‖ Intel DH55TC -
4 Intel Core Processor Integrated Graphics Controller [8086:0042] (rev 02)
5 eth0: Intel 82578DC Gigabit Network Connection [8086:10f0] (rev 06)
da_perama1
punkTUX
punkTUX
 
Δημοσιεύσεις: 289
Εγγραφή: 11 Νοέμ 2008, 20:35
Τοποθεσία: Κέρκυρα
Εκτύπωση

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

Δημοσίευσηαπό sokoban4ever » 06 Οκτ 2009, 20:21

@AngelBreath
Όπως τα λέει ο @da_perama1 :thumbup:

επίσης

μόνο το 1 είναι True και το 0 False


αν κάναμε
Κώδικας: Επιλογή όλων
condition =1

και μετά
Κώδικας: Επιλογή όλων
while condition :
  εντολές


o βρόγχος θα έτρεχε της εντολές είτε ωσότου κάνουμε break είτε ωσότου κάνουμε το condition = False ή condition = 0


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

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

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

Δημοσίευσηαπό stamatiou » 13 Νοέμ 2010, 19:20

Βρε παιδιά πού ακριβώς λέει για μενού και τέτοια ώστε να απαντήσουμε την ερώτηση 9-10?
1Γνώσεις→Linux: Αρχάριος┃Προγραμματισμός:Αρχάριος┃Αγγλικά:Μέτριος
2Λειτουργικό→Arch Linxu 32bit
3Προδιαγραφές→2x AMD AthlonX2 DualCore QL-66 ‖ RAM 1751 MiB ‖ Hewlett-Packard 308C - Hewlett-Packard Compaq 615
4Κάρτες γραφικών:ATI RS780M/RS780MN [Radeon HD 3200 Graphics][1002:9612]
5Δίκτυα:eth0:Marvell 88E8042 PCI-E Fast Ethernet Controller [11ab:4357] (rev 10)⋮eth1: Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315](rev 01)
Πρωσοπική Ιστοσελίδα: http://giwrg98.co.cc
Άβαταρ μέλους
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

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

Δημοσίευσηαπό medigeek » 13 Νοέμ 2010, 21:56

Βοήθεια 1: Για το μενού χρησιμοποιείς τo while.
Βοήθεια 2: Το μενού το κάνεις σαν κείμενο στο τερματικό.
Βοήθεια 3: Το μενού πρέπει να εμφανίζει κάτι τέτοιο:
Επιλέξτε επιλογή:
1. Επιλογή 1
2. Επιλογή 2
3. Επιλογή 3
4. Pathste 4 gia na bgeite
Δώσε αριθμό:


Σε περίπτωση λάθος αριθμού (να μην είναι ούτε 1 ούτε 2, 3 ή 4) να εμφανίζει:
WARNING: Bad command

..και να ξαναδίνει το μενού.
Κύπριος; Κόπιασε στο 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 - Ασκήσεις

Δημοσίευσηαπό spyroskaftanis » 27 Νοέμ 2010, 22:59

Η Άσκηση 3 είναι το πρώτο πρόγραμμα που φτιάχνω 100% μόνος μου χωρίς καμία βοήθεια. Μπορεί να είναι απλό, αλλά εγώ πανηγύρισα όταν είδα ότι δουλεύει!!!
Κώδικας: Επιλογή όλων
#!/usr/bin/python3
#_*_ coding: utf-8 _*_
# Filename: 13.py

number = 13

guess = int(input('Δώσε έναν αριθμό: '))
if guess == 13:
    print('Xάσου γελοίε')
    runing = False

elif guess != 13:
    print ('Έτσι μπράβω')
   
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: C/C++,Java, Bash, Android┃ Αγγλικά: Μέτρια (B2) | Γαλλικά: Λίγα (Β1)
Λειτουργικό σε Η/Υ ϰ μοντέλο: |ext4| Fedora 20 σε multirama notbook
Προδιαγραφές ⇛ CPU- Intel(R) Core(TM) 2 Duo @ 2.00GHz│ RAM 2GB │Intel Corporation Mobile GM965/GL960|
my personal blog: http://skaftanis.blogspot.com
my fedora blog : http://fedora-gr.blogspot.com/
My New Project: http://showmeyourcode.co.nf/
CEID upatras 3rd year student.
Άβαταρ μέλους
spyroskaftanis
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 538
Εγγραφή: 23 Φεβ 2009, 22:04
Τοποθεσία: Αργολίδα
Εκτύπωση

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

Δημοσίευσηαπό medigeek » 28 Νοέμ 2010, 03:05

Εύγε! :) Μόνο ένα μικρό ασήμαντο λαθος:
#_*_ coding: utf-8 _*_


Το σωστό θα ήταν:
Κώδικας: Επιλογή όλων
# -*- coding: utf-8 -*-


Δεν σου προκαλεί πρόβλημα επειδή το τρέχεις με python3. Απλά κάτι για να έχεις υπ' όψιν όταν/αν αρχίσεις να παίζεις με python2 :)
Κύπριος; Κόπιασε στο 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 - Ασκήσεις

Δημοσίευσηαπό sokoban4ever » 28 Νοέμ 2010, 04:56

spyroskaftanis έγραψε:...

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

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

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

Δημοσίευσηαπό learne/hack » 24 Αύγ 2011, 16:55

Να και οι δικές μου απαντήσεις για αυτό το κεφάλαιο...Ελπίζω να μπορέσω να προχωρήσω παρακάτω και να μην ξεχάσω ή δεν τα καταφέρω... :( ( γιατί δεν πιστεύω και πολύ στον εαυτό μου... :/ )

Και παιδιά υπέρ ευχαριστώ και χίλια μπράβο δεν φαντάζεστε πόσο βοηθάτε και με αυτά εδώ τα topics και ελπίζω να βρω και για τα παρακάτω μαθήματα τέτοια topics.

Ερώτηση 1

Spoiler: show
if, for while.


Ερώτηση 2

Spoiler: show
while, if ,elif, else, continue, break, for...in....


Ερώτηση 3

Spoiler: show
Κώδικας: Επιλογή όλων
# Ερώτηση 3 - Καιφάλεο 3.
#Δώστε ένα παραάδειγμα κώδικα όπου θα ζειτήτε από τον χρήστη να γράψει τον
#αγαπημένο του αριθμό ο χρήστης θα μπορεί να απαντήσει 1 φορά και η εφαρμογή θα
#τερματίζει.
#Θα εμφανίζεται ένα μήνυμα που θα σχολιάζει θετικά οποιαδήποτε αριθμό εκτός από
#το 13. Σε περίπτωση που ο χρήστης απαντήσει 13 θα εμφανιστεί ένα αρνητικό
#σχόλιο.

print ("""
@      #####     *     @@@@@@  #      #
@      #        * *    @   @   # #    #
@      ###     *   *   @  @    #  #   #
@      #      *******  @    @  #   #  #
@@@@@@ ##### *       * @     @ #    # #
""")
# Εδώ είπα να σας το παίξω λίγο "μάγκας" 0χ.α0χα0χα και να σας δείξω ποιανού
# είναι το ακαταμάχητο αυτό "πρόγραμμα" :-P

number = 13

print ("""Καλως ήρθες
""")
quess = int (input('Πες μου φίλε το αγαπημένο σου αριθμό : '))
if quess == number:
        print ('Μια ζωή γκαντέμης θα είσαι φίλε μου!!  ^_^ :-Ρ')
if quess != number:
        print('Μπράβο ρε μεγάλε!! Ωραίος αριθμός.!!')

print ("""

Press any key to quit.""")

import msvcrt
msvcrt.getch()

# Οι δύο τελευταίες γραμμές κώδικα που πρόσθεσα τις πρόσθεσα για να μην
#κλείνει κατευθείαν το πρόγραμμα χωρίς να προλαβαίνει ο χρήστης να βλέπει τα
#αποτελέσματα :P και για αυτό έβαλα και το "Press any key to quit." ;-) .
#Ελπίζω να σας άρεσε.


Παιδιά πως το βλέπετε σωστό...;;; Και επίσης εγώ τώρα αυτό ( αν και έχω και linux-ubuntu σε partition να σας πω την αλήθεια python αν και φαίνεται εντελώς χαζό όντως.. *_* εγώ μαθαίνω(διαβάζω)-γράφω και εκτελώ προγράμματα από το partition των windows γιατί κατεβάζοντας την python για windows ο επεξεργαστής-compiler που έχει μου είναι πολύ ποιο όμορφος,εύκολος οικείος και μου άρεσε από την αρχή,
ενώ από το ubuntu δεν βρήκα κάτι το τόσο "ωραίο" και τέλος πάντων εύκολο για εμένα και ποιο οικείο).Και το ερώτημα μου είναι πως αν εγώ γράφω το πρόγραμμα μου όπως τώρα που στην αρχή γράφω ότι να ναι το τι μου ζητάει τώρα άλλες φορές π.χ. γράφω ποίημα :P παίζει κάποιο ρόλο από το να γράφω π.χ. -->
Κώδικας: Επιλογή όλων
#!/usr/bin/python3
#Filename: askisi3_9.py

??? εγώ νομίζω πως όχι γιατί έτσι και αλλιώς αυτά σαν σχόλια συμπεριλαμβάνονται και ούτε καν τα κοιτάει ο compiler. Έτσι δεν είναι...;; Περιμένω και μια δική σας απάντηση. :)

Ερώτηση 4

Δεν κατάλαβα και δεν ξέρω γιατί... :( Μπορεί κάποιος να μου εξηγήσει..;; είναι κάτι χρήσιμο..;; γιατί ξανά κοίταξα το βιβλίο και δεν βρήκα κάτι που να λέει για αυτό... :/

Ερώτηση 5

Ούτε επίσης ξέρω και κοίταξα και στο βιβλίο και δεν βρήκα κάτι... :( :( Θα σας ήμουν ευγνώμον σε όποιο μου εξηγούσε.. :/
Εδώ αυτό που μου έρχετε στο μυαλο είναι το false (ψευδής)=0 και true (αληθής)=1 αλλά δεν ξέρω.... :@

Ερώτηση 6
Και εδώ επίσης γ*****... :@ όπως και στο 4 & 5.... :@ :( κοιτάω και το βιβλίο.... :geek: αλλά τίποτα.. :@ :( :(
Τι εννοεί : Δείξτε 2 απλά παραδείγματα ατέρμων βρόγχου ( forever loop ) ;;;;; Μπορεί κάποιος σας παρακαλώ πάρα πάρα πολύ να μου εξηγήσει..;; :/ ;(

Ερώτηση 7

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

Την εντολή continue την χρησιμοποιούμε για να υποδείξουμε στην python να παραλείψει τις ακόλουθες εντολές εντός του βρόχου που βρίσκετε και να συνεχίσει με την επόμενη επανάληψη του βρόχου.


Ερώτηση 8

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

import msvcrt
msvcrt.getch()


Και δεν ξέρω μάλλον οι ασκήσεις 9 & 10 είναι και για το επόμενο κεφάλαιο με τις συναρτήσεις που εγώ δεν έχω φτάσει καν..... θα μάθω και θα τις κάνω..!! ;)

:mrgreen:
Spoiler: show
1 Linux: Μέτριος ┃ Προγραμματισμός: Αρχάριος ┃ Αγγλικά: Αρχάριος
2 Ubuntu 11.10 oneiric 64bit (el_GR.UTF-8), Ubuntu 3.0.0-14-generic, Windows 7
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3963 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] (rev a2)
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
learne/hack
babeTUX
babeTUX
 
Δημοσιεύσεις: 25
Εγγραφή: 09 Οκτ 2009, 16:40
Εκτύπωση

ΠροηγούμενηΕπόμενο

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