νεος σε python

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: νεος σε python

Δημοσίευσηαπό medigeek » 05 Μαρ 2009, 18:07

Dimitris έγραψε:Σε python γράψε:
Κώδικας: Επιλογή όλων
1.2^2

Το σφάλμα που θα σου βγάλει:
Κώδικας: Επιλογή όλων
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unsupported operand type(s) for ^: 'float' and 'int'

σημαίνει ότι μπλέκεις το float και το int τύπο σε έναν τελεστή που δεν το επιτρέπει. Μπορείς πολύ απλά να λύσεις το πρόβλημά σου γράφοντας:
Κώδικας: Επιλογή όλων
dms = baros / ypsos * ypsos

O τελεστής ^ είναι μόνο για int.
Διαφορετικά πρέπει να χρησιμοποιήσεις το module math:
Κώδικας: Επιλογή όλων
math.pow(ypsos, 2)

Για λεπτομέρειες δες εδώ: http://docs.python.org/library/math.html#module-math
Γενικά οι ιστοσελίδες παρακάτω θα σου φανούν πολύ χρήσιμες:
http://docs.python.org/tutorial/
http://docs.python.org/library/


Guess again :) Θέλει δύο αστεράκια!
Κώδικας: Επιλογή όλων
1.2**2


Κώδικας: Επιλογή όλων
$ python3
Python 3.0.1+ (r301:69556, Feb 24 2009, 13:44:22)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1.2**2
1.4399999999999999

Κύπριος; Κόπιασε στο 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: νεος σε python

Δημοσίευσηαπό medigeek » 05 Μαρ 2009, 18:11

panagiotispoyls έγραψε:
Κώδικας: Επιλογή όλων
panos@koumpis:~/learning_python$ python dms.py
GRAPSTE TO BAROS SAS : 78
GRAPSTE TO YPSOS SAS : 178
Traceback (most recent call last):
File "dms.py", line 14, in <module>
math.pow(ypsos, 2)
NameError: name 'math' is not defined



Σημαίνει πως δεν υπάρχει math αντικείμενο.
Στην περίπτωση σου, πρέπει να πεις στο python ότι θες το module math:
Κώδικας: Επιλογή όλων

import math

baros = float(raw_input("GRAPSTE TO BAROS SAS : "))

ypsos = float(raw_input("GRAPSTE TO YPSOS SAS : "))

math.pow(ypsos, 2)
dms = baros / ypsos ^2

print " o deikths sas einai", dms
Κύπριος; Κόπιασε στο 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: νεος σε python

Δημοσίευσηαπό panagiotispoyls » 05 Μαρ 2009, 18:23

τώρα το μνμ λάθους λέει ότι δεν υποστηρίζει την ύψωση σε int k float , μαλλον;
Κώδικας: Επιλογή όλων
GRAPSTE TO BAROS SAS : 120
GRAPSTE TO YPSOS SAS : 210
Traceback (most recent call last):
File "dms.py", line 16, in <module>
dms = baros / ypsos ^2
TypeError: unsupported operand type(s) for ^: 'float' and 'int'


τ προγραμμα είναι
Κώδικας: Επιλογή όλων
import math

baros = float(raw_input("GRAPSTE TO BAROS SAS : "))

ypsos = float(raw_input("GRAPSTE TO YPSOS SAS : "))

math.pow(ypsos, 2)
dms = baros / ypsos ^2

print " o deikths sas einai", dms

ευχαριστω madlgeek ;)
Linux: χαμηλο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: μετρια
Ubuntu 9.04 32bit @ fujitsu siemens esprimo V5535
Intel Core 2 Duo T5850 @ 2.16GHz │ 2GB │VGA SiS Mirage 3│ Atheros AR242x│SiS Azalia Audio│TFT 15.4"
Άβαταρ μέλους
panagiotispoyls
babeTUX
babeTUX
 
Δημοσιεύσεις: 86
Εγγραφή: 04 Φεβ 2009, 17:44
Εκτύπωση

Re: νεος σε python

Δημοσίευσηαπό panagiotispoyls » 05 Μαρ 2009, 18:27

με τον παρακάτω κώδικα , όπως βοήθησε κ o dimitris , τρεχει κανονικά,
Κώδικας: Επιλογή όλων
baros = float(raw_input("GRAPSTE TO BAROS SAS : "))

ypsos = float(raw_input("GRAPSTE TO YPSOS SAS : "))


dms = baros / (ypsos * ypsos)
print " o deikths sas einai", dms


και έξοδος

Κώδικας: Επιλογή όλων
GRAPSTE TO BAROS SAS : 60
GRAPSTE TO YPSOS SAS : 1.75
o deikths sas einai 19.5918367347


νομίζω πως είναι σωστό
Linux: χαμηλο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: μετρια
Ubuntu 9.04 32bit @ fujitsu siemens esprimo V5535
Intel Core 2 Duo T5850 @ 2.16GHz │ 2GB │VGA SiS Mirage 3│ Atheros AR242x│SiS Azalia Audio│TFT 15.4"
Άβαταρ μέλους
panagiotispoyls
babeTUX
babeTUX
 
Δημοσιεύσεις: 86
Εγγραφή: 04 Φεβ 2009, 17:44
Εκτύπωση

Re: νεος σε python

Δημοσίευσηαπό medigeek » 05 Μαρ 2009, 18:36

Συγγνώμη που θα στο λύσω, αλλα προτιμώ να σου το εξηγήσω μ'αυτόν τον τρόπο:
Κώδικας: Επιλογή όλων
#!/usr/bin/python
baros = int(input("GRAPSTE TO BAROS SAS (kg): "))
ypsos = int(input("GRAPSTE TO YPSOS SAS (cm): "))

bmi = (baros / ypsos ** 2) * 10000

print("O deikths sas einai: " + str(bmi))


** 2 = το ανεβάζεις στη δευτέρα
str = κάνεις τον αριθμό (bmi) να είναι text string

Κώδικας: Επιλογή όλων
$ python test.py
GRAPSTE TO BAROS SAS (kg): 80
GRAPSTE TO YPSOS SAS (cm): 180
O deikths sas einai: 24.6913580247
Κύπριος; Κόπιασε στο 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: νεος σε python

Δημοσίευσηαπό panagiotispoyls » 05 Μαρ 2009, 18:57

δεν πειραζει που το έλυσες..ευχαριστώ για την βοήθεια !
θέλει και if μεσα ναβαλω , οποτε εχει ακόμα δουλίτσα..
διευκρινίζεις την λυση σου πολυ καλα
όμως
στο
Κώδικας: Επιλογή όλων
bmi = (baros / ypsos ** 2) * 10000
το *10000 γιατι το έβαλες;
αφου ο τύπος έιναι βαρος / ύψος στο τετραγωνο (τα δθο αστερακια δηλαδη που έβαλες baros/ypsos **2 , το επι δεκα χιλιαδες γιατι χρειάζεται;)
θέλω να πω πως αφού λες ότι βαζοντας τα **2 υψώνεται στο τετραγωνο , το *10000 γιατι μπαίνει
δεν σε αμφισβητώ φίλε ,απλά θέλω να το μάθω γιατι κατάλαβα τη λύση που λες ,εκτός απο αυτο!!
Linux: χαμηλο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: μετρια
Ubuntu 9.04 32bit @ fujitsu siemens esprimo V5535
Intel Core 2 Duo T5850 @ 2.16GHz │ 2GB │VGA SiS Mirage 3│ Atheros AR242x│SiS Azalia Audio│TFT 15.4"
Άβαταρ μέλους
panagiotispoyls
babeTUX
babeTUX
 
Δημοσιεύσεις: 86
Εγγραφή: 04 Φεβ 2009, 17:44
Εκτύπωση

Re: νεος σε python

Δημοσίευσηαπό medigeek » 05 Μαρ 2009, 19:08

είναι διαφορετικό απο το δικό σου, εσύ δέχεσαι float, εγώ του έβαλα απλούς αριθμούς, χωρίς δεκαδικά (εξού και το int αντί του float).
το ύψος το δέχεται σε cm εκατοστόμετρα αντί μέτρα, οπόταν θέλει ενα πολλαπλασιασμό επί 10 000 για να πάρεις το αντίστοιχο σωστό αποτέλεσμα :)
Κύπριος; Κόπιασε στο 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: νεος σε python

Δημοσίευσηαπό panagiotispoyls » 05 Μαρ 2009, 19:15

κατάλαβα !! τώρα που βρήκα πως να δηλώσω την πράξη θα τ φτιάξω να βγάζει ακόμη μερικές πληροφορίες.. :)
ευχαριστω για την βοήθεια κ τον χρόνο σου.. :D :D
γεια χαρα!!
Linux: χαμηλο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: μετρια
Ubuntu 9.04 32bit @ fujitsu siemens esprimo V5535
Intel Core 2 Duo T5850 @ 2.16GHz │ 2GB │VGA SiS Mirage 3│ Atheros AR242x│SiS Azalia Audio│TFT 15.4"
Άβαταρ μέλους
panagiotispoyls
babeTUX
babeTUX
 
Δημοσιεύσεις: 86
Εγγραφή: 04 Φεβ 2009, 17:44
Εκτύπωση

Re: νεος σε python

Δημοσίευσηαπό greatst » 05 Μαρ 2009, 20:07

panagiotispoyls έγραψε:κατάλαβα !! τώρα που βρήκα πως να δηλώσω την πράξη θα τ φτιάξω να βγάζει ακόμη μερικές πληροφορίες.. :)
ευχαριστω για την βοήθεια κ τον χρόνο σου.. :D :D
γεια χαρα!!


Άντε με το καλό! Και όταν τελειώσεις με αυτό, δοκίμασε και με PyGTK για να δεις πώς μπορείς να "παίξεις" και με το γραφικό περιβάλλον διασύνδεσης του Ubuntu (GTK+).

Ένας πρώτος καλός οδηγός προγραμματισμού για PyGTK μπορεί να βρεθεί στη διεύθυνση:

https://help.ubuntu.com/8.10/programmin ... k-tutorial

Επίσης, μπορείς να διαβάσεις τον οδηγό του συμφορουμίτη Dimitris στη διεύθυνση:

viewtopic.php?f=9&t=3601
προσωπική ιστοσελίδαgreatst in Launchpad

Γνώσεις ⇛ Linux: Όσο ζω μαθαίνω ┃ Προγραμματισμός: Μια χαρά ┃ Αγγλικά: Εξαιρετικά

Mac mini (late 2009) (8GB RAM) με OS X 10.11.6 [και Ubuntu 16.04 Server amd64 και άλλες GNU/Linux εικονικές μηχανές με 2GB RAM, 128MB VRAM+3D_acceleration η κάθε μία].
Άβαταρ μέλους
greatst
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 639
Εγγραφή: 14 Δεκ 2008, 00:41
Τοποθεσία: Κατερίνη
Launchpad: greatst
IRC: greatst
Εκτύπωση

Re: νεος σε python

Δημοσίευσηαπό panagiotispoyls » 07 Μαρ 2009, 19:59

έγραψε:Άντε με το καλό! Και όταν τελειώσεις με αυτό, δοκίμασε και με PyGTK για να δεις πώς μπορείς να "παίξεις" και με το γραφικό περιβάλλον διασύνδεσης του Ubuntu (GTK+).

Ένας πρώτος καλός οδηγός προγραμματισμού για PyGTK μπορεί να βρεθεί στη διεύθυνση:

https://help.ubuntu.com/8.10/programmin ... k-tutorial

Επίσης, μπορείς να διαβάσεις τον οδηγό του συμφορουμίτη Dimitris στη διεύθυνση:

viewtopic.php?f=9&t=3601


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

Κώδικας: Επιλογή όλων
learning_python = open ('new.csv', 'rb')

for line in learning_python:
print line

learning_python.close()



και έξοδος

Κώδικας: Επιλογή όλων
panos@koumpis:~/learning_python$ python read.py
File "read.py", line 4
for line in learning_python:
^
IndentationError: unexpected indent
Linux: χαμηλο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: μετρια
Ubuntu 9.04 32bit @ fujitsu siemens esprimo V5535
Intel Core 2 Duo T5850 @ 2.16GHz │ 2GB │VGA SiS Mirage 3│ Atheros AR242x│SiS Azalia Audio│TFT 15.4"
Άβαταρ μέλους
panagiotispoyls
babeTUX
babeTUX
 
Δημοσιεύσεις: 86
Εγγραφή: 04 Φεβ 2009, 17:44
Εκτύπωση

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

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron