Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

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

Re: Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό demiscy » 08 Οκτ 2009, 02:04

@sokoban4ever ευχαριστώ και πάλι...
τώρα πρόσεξα ότι ενώ είχα κάνει εγκατάσταση python3 με εισαγωγή στη κονσόλα python myprog.py έκανε χρήση python 2.6 και όχι του python3 όπου πολύ απλά όπως είπες μόνο με χρήση του input() αποφεύγεται το casting
demiscy
babeTUX
babeTUX
 
Δημοσιεύσεις: 34
Εγγραφή: 08 Δεκ 2008, 13:44
Εκτύπωση

Re: Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό magaiver » 26 Μαρ 2010, 17:40

Γιατι δε μπορω να τρεξω σωστα την εντολη break?
Γραφω
Κώδικας: Επιλογή όλων
#!/usr/bin/python
#-*- coding: utf-8 -*-
#Filename: break.py

while True:
   s = (input('Enter something : '))
   if s == 'quit':
      break
   print('Length of the string is', len(s))
print ('Done')

και μου βγαζει
Κώδικας: Επιλογή όλων
Enter something : something
Traceback (most recent call last):
  File "break.py", line 6, in <module>
    s = (input('Enter something : '))
  File "<string>", line 1, in <module>
NameError: name 'something' is not defined


------------------
(program exited with code: 1)
Press return to continue

Τι κανω λαθος;
1 Γνώσεις → Linux: Αρχάριος ┃ Προγραμματισμός: Καθόλου ┃ Αγγλικά: Προχωρημένος
2 Λειτουργικό → Ubuntu 10.10 maverick 32-bit (el_GR.utf8)
3 Προδιαγραφές → CPU: 2x Intel Core2 Duo CPU E8500 3.16GHz ‖ RAM 3022 MiB ‖ ASUS P5QC - System manufacturer P5QC
4 Κάρτες γραφικών: nVidia G92 [GeForce 9800 GT] ⎨10de:0605⎬ (rev a2)
5 Δίκτυα: eth0: Atheros Communications AR8121/AR8113/AR8114 Gigabit or Fast Ethernet ⎨1969:1026⎬ (rev b0)
magaiver
babeTUX
babeTUX
 
Δημοσιεύσεις: 26
Εγγραφή: 04 Μαρ 2010, 04:08
Εκτύπωση

Re: Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό malos » 26 Μαρ 2010, 21:25

Αν το τρέξεις με python3 και όχι την παλιά την python :D θα σου δουλέψει καλά !!! ;)
Δώσε λοιπόν :
Κώδικας: Επιλογή όλων
python3 break.py


Αλλιώς αν το τρέξεις με python (σκέτο), Θα πρέπει να δώσεις στο input που σου ζητάει ..... ότι θες αλλά μέσα σε εισαγωγικά !

Στο παράδειγμά σου :

Κώδικας: Επιλογή όλων
Enter something : something


αν το δώσεις με εισαγωγικά το something, θα δουλέψει.

Κώδικας: Επιλογή όλων
Enter something : "something"
Επεξεργαστής: AMD Ryzen 9 5900x
Μνήμη Gskill 16gb (2X8gb), 3200 mh, CL 14
Μητρική: Asrock X570 phantom gaming X
Τροφοδοτικό: Corsair 850 platinum
Δίσκος: SSD Corsair MP600 (1 TB)
Άβαταρ μέλους
malos
saintTUX
saintTUX
 
Δημοσιεύσεις: 1222
Εγγραφή: 02 Νοέμ 2008, 12:00
Εκτύπωση

Re: Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό magaiver » 28 Μαρ 2010, 22:16

Nαι οντως με εισαγωγικα δουλευει αλλα γιατι θελει εισαγωγικα? :?: :think:
1 Γνώσεις → Linux: Αρχάριος ┃ Προγραμματισμός: Καθόλου ┃ Αγγλικά: Προχωρημένος
2 Λειτουργικό → Ubuntu 10.10 maverick 32-bit (el_GR.utf8)
3 Προδιαγραφές → CPU: 2x Intel Core2 Duo CPU E8500 3.16GHz ‖ RAM 3022 MiB ‖ ASUS P5QC - System manufacturer P5QC
4 Κάρτες γραφικών: nVidia G92 [GeForce 9800 GT] ⎨10de:0605⎬ (rev a2)
5 Δίκτυα: eth0: Atheros Communications AR8121/AR8113/AR8114 Gigabit or Fast Ethernet ⎨1969:1026⎬ (rev b0)
magaiver
babeTUX
babeTUX
 
Δημοσιεύσεις: 26
Εγγραφή: 04 Μαρ 2010, 04:08
Εκτύπωση

Re: Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό medigeek » 09 Απρ 2010, 13:11

@magaiver

Το input() είναι μια από τις διαφορές python3 vs. python2

Για python3 χρησιμοποιείς το input():
http://docs.python.org/py3k/library/fun ... html#input

Κώδικας: Επιλογή όλων
$ python3
Python 3.1.2 (r312:79147, Mar 21 2010, 19:29:49)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> input("Your name: ")
Your name: Savvas
'Savvas'


Για python 2.x χρησιμοποιείς το raw_input():
http://docs.python.org/library/functions.html#raw_input

Κώδικας: Επιλογή όλων
$ python
Python 2.6.5 (r265:79063, Apr  3 2010, 01:56:30)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> raw_input("Your name: ")
Your name: Savvas
'Savvas'
Κύπριος; Κόπιασε στο 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 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό stamatiou » 30 Οκτ 2010, 13:07

Εκείνο το κομμάτι με το προγραμμα while εμένα μου το βγάζει λάθος, γιατί?
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 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό sokoban4ever » 30 Οκτ 2010, 15:18

1ον postare το λάθος που σου έβγαλε

Το πιθανότερο είναι να έκανες λάθος στο indentation (μάλλον λόγο του ότι τα code tags του forum χαλάνε το σωστό indentation του κώδικα )
Ίσως να είναι καλύτερα να ποστάρεις κώδικα στο http://pastebin.ubuntu-gr.org/
όπως
1 το να μην έβαλες μετά από to ":" μια νέα γραμμή ενώ υπήρχαν και άλλα statements από κάτω
ή αλλιώς
2 να μην είσουν συνεπείς με το identation σε όλο το αρχείο.

Εξηγούμε για το δεύτερο
Δηλαδή μετά από κάθε γραμμή που πρέπει να είναι προς τα μέσα ( indented ) πχ 4 κενούς χαρακτήρες(space) ή αλλιώς ένα tab (\t)
πρέπει επίσης για το ίδιο αρχείο κώδικα για όλο το κείμενο να είσαι συνεπείς ως προς το πόσους χαρακτήρες και tabs θα έχεις.
Αν για παράδειγμα αποφασίσεις να έχεις 5 κενούς χαρακτήρες πρέπει να είναι 5 σε όλο το αρχείο.
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

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

Re: Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό medigeek » 31 Οκτ 2010, 20:17

stamatiou έγραψε:Εκείνο το κομμάτι με το προγραμμα while εμένα μου το βγάζει λάθος, γιατί?


Θέλει python3. Υπάρχει διαφορά στην εντολή input() η οποία είναι για python 3.x -- στην python 2.x η εντολή είναι raw_input(): viewtopic.php?f=55&t=5954&start=20#p113878

(Διορθώθηκε στο βιβλίο :))
Κύπριος; Κόπιασε στο 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 » 01 Νοέμ 2010, 04:47

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

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

Re: Μάθημα 3 - Έλεγχος ροής και συναρτήσεις

Δημοσίευσηαπό midkin » 09 Ιουν 2014, 03:43

Παίδες τα φώτα σας!!!
Μόνο εγώ δεν καταλαβαίνω τίποτα από τα παρακάτω;;;

Παράμετροι VarArgs:

Κώδικας: Επιλογή όλων
def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count
print(total(10, 1, 2, 3, vegetables=50, fruits=100))


Η εξήγηση του βιβλίου δεν με καλύπτει καθόλου... :S

wtf??? :D
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Χαμηλό ┃ Αγγλικά: Πολύ Καλά
Λειτουργικό: Laptop Lenovo G505s με Windows 8.1 / Ubuntu 14.10 & Mac OS X 10.10 μέσω VirtualBox
Προδιαγραφές ⇛ AMD A8 τετραπύρηνος │ 8 GB RAM |
Άβαταρ μέλους
midkin
babeTUX
babeTUX
 
Δημοσιεύσεις: 44
Εγγραφή: 05 Σεπ 2009, 21:14
Τοποθεσία: Κομοτηνή
Εκτύπωση

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

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