Τα πάντα για την Python

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

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

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 27 Ιαν 2013, 19:47

@Charval
Το πρόβλημα είναι στο ότι πας να κάνεις πράξεις με int και str.
Δίνοντας την εντολή:
Κώδικας: Επιλογή όλων
a = input("Please gimme the input: ")

Στην μεταβλητή a αποθηκεύεται ένα string όχι ένας αριθμός.
Κώδικας: Επιλογή όλων
>>> 4 == '4'
False
>>>

Αυτό που πρέπει να κάνεις είναι να μετατρέψεις το string σε ακέραιο χρησιμοποιώντας την συνάρτηση int().

Ένα παράδειγμα:
Κώδικας: Επιλογή όλων
ilias@archpc ~ ➜ python3
Python 3.3.0 (default, Dec 22 2012, 21:02:07)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 4
>>> b = input()
4
>>> a == b
False
>>> type(a)
<class 'int'>
>>> type(b)
<class 'str'>
>>> b = int(b)
>>> type(b)
<class 'int'>
>>> a == b
True
>>>
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό kamar » 28 Ιαν 2013, 18:37

Ο κώδικάς σου πρέπει να γίνει κάπως έτσι:

Μορφοποιημένος Κώδικας: Επιλογή όλων
#!/usr/bin/python3

# -*- coding: utf8 -*-

print ("Welcome to 'Quadratic' solving program.")

a = int(input("Please, input the first coefficient: "))

while a == 0:
a = int(input("Be careful! That, is not a quadratic equation. Please, input a non-zero coefficient: "))

b = int(input("Now, input the second coefficient: "))

c = int(input("Now, input the constant: "))

from math import sqrt

D = b**2 + (-4)*a*c

if D > 0:
print ("The value of the determinant is: ", D, "and the two real solutions are: ", (-b+sqrt(D))/2*a, (-b-sqrt(D))/2*a)
elif D == 0:
print ("Determinant equals to zero, so we have a double real root: ", (-b)/2*a)
else:
print ("Negative determinant. Two complex solutions: ", complex ((-b)/2*a, sqrt(-D)/2*a), complex ((-b)/2*a, (-sqrt(-D)/2*a)))

print ("Thank you for using Quadratic!")
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-91-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD A6-5400K APU with Radeon HD Graphics ‖ RAM 3347 MiB ‖ ASUS F2A55-M LK2 PLUS
4 Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7540D] [1002:9991] {radeon}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Άβαταρ μέλους
kamar
punkTUX
punkTUX
 
Δημοσιεύσεις: 166
Εγγραφή: 10 Μάιος 2008, 20:24
Τοποθεσία: Χανιά
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Tassos10 » 08 Αύγ 2013, 12:11

Πως γίνεται με python 3 να βάλω την ώρα του συστήματος - του υπολογιστή - μέσα στο πρόγραμμα μου και π.χ. αν η ώρα είναι 12 να μου το λέει;
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό clepto » 08 Αύγ 2013, 13:20

Κοίτα εδώ http://docs.python.org/2/library/datetime.html
Θα πρέπει να ελέγχεις συνέχεια αν είναι 12 η ώρα ή μια φορά;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Tassos10 » 09 Αύγ 2013, 08:13

clepto έγραψε:Κοίτα εδώ http://docs.python.org/2/library/datetime.html
Θα πρέπει να ελέγχεις συνέχεια αν είναι 12 η ώρα ή μια φορά;

Σε ευχαριστώ καταρχήν πολύ για την απάντηση. Έχει διαφορά από το να το κοιτώ μια η δυο φορές ;
π.χ. για αρχή ένα :
print ( " Η ώρα είναι " ) και τι άλλο πρέπει να βάλω στην python 3 για να μου δείχνει τι ώρα λέει τώρα ο υπολογιστής μου;
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό clepto » 09 Αύγ 2013, 15:36

Εξαρτάται τι θέλεις να κάνεις.
Για να πάρεις την ώρα κάνεις αυτό:
Μορφοποιημένος Κώδικας: Επιλογή όλων
from datetime import datetime

print (datetime.now().hour)


και θα σου επιστρέψει την ώρα (π.χ. τώρα θα επιστρέψει 15)
με τον ίδιο πρώτο μπορείς να πάρεις τα λεπτά κλπ...
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 08 Σεπ 2013, 01:56

Μπορεί να μου εξηγήσει κάποιος πως το bytecode της python διαφέρει απ' αυτό της Java;
Και γιατί λέμε ότι η πρώτη είναι interpreted language ενώ η Java όχι;

Έκανα μια σχετική έρευνα αλλά δεν μπορώ να πω ότι κατάλαβα και πολλά.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό clepto » 08 Σεπ 2013, 03:06

Ilias95 έγραψε:Μπορεί να μου εξηγήσει κάποιος πως το bytecode της python διαφέρει απ' αυτό της Java;
Και γιατί λέμε ότι η πρώτη είναι interpreted language ενώ η Java όχι;

Έκανα μια σχετική έρευνα αλλά δεν μπορώ να πω ότι κατάλαβα και πολλά.
Off topic:
τι ζητάς βραδιάτικα;;; τράβα κοιμήσου :P
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό medigeek » 11 Σεπ 2013, 00:05

Δεν ξέρω τι να σου πω.. ίσως ο simosx να μπορεί να δώσει μια καλή απάντηση στα ελληνικά.
Οι γνώσεις μου δεν είναι τόσο καλές όσον αφορά τη θεωρία του προγραμματισμού, αλλά ίσως αυτά τα δύο να βοηθήσουν:
http://stackoverflow.com/questions/4418 ... r-parlance
http://stackoverflow.com/questions/1326 ... g-language
Κύπριος; Κόπιασε στο 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

Δημοσίευσηαπό konnn » 11 Σεπ 2013, 00:26

Ilias95 έγραψε:Μπορεί να μου εξηγήσει κάποιος πως το bytecode της python διαφέρει απ' αυτό της Java;
Και γιατί λέμε ότι η πρώτη είναι interpreted language ενώ η Java όχι;

Έκανα μια σχετική έρευνα αλλά δεν μπορώ να πω ότι κατάλαβα και πολλά.


Αν θυμάμαι καλά και αν τα κατάλαβα καλά είναι πως στη python το πρόγραμμα δεν μεταγλωττίζεται αλλά απλά μετατρέπεται μέσα από εσωτερικούς μηχανισμούς σε γλώσσα μηχανής.Η java από την άλλη μεταγλωττίζεται αλλά παρόλα αυτά μπορείς να χρησιμοποιήσεις το "εκτελέσιμο" αρχείο και σε άλλες πλατφόρμες.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

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

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