Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: input() vs raw_input()

input() vs raw_input() 12 Χρόνια 2 Μήνες πριν #1612

  • kiriazispao4ever
  • Το Άβαταρ του/της kiriazispao4ever
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 11
Γεια σας παιδιά.Είμαι 17 χρονών και καινούριος στον χώρο του προγραμματισμού.Ξεκίνησα με την Python και έχω ένα πρόβλημα.
Εδώ είναι ένας κώδικας.
num=raw_input("type a number : ")
if num > 0 :
    print"NICE"
else:
    print"NOT NICE"

Όταν πατάω αριθμούς >0 δεν θα πρεπε να λεει NICE και όταν πατάω
αριθμούς <0 να λεει NOT NICE?
έμενα και στις 2 περιπτώσεις μου λεει NICE.

Τι κάνω λάθος?
Τελευταία διόρθωση: 12 Χρόνια 2 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

input() vs raw_input() 12 Χρόνια 2 Μήνες πριν #1613

  • sbosx
  • Το Άβαταρ του/της sbosx
  • Αποσυνδεμένος
  • Admin
  • to be or not to be?
  • Δημοσιεύσεις: 228
  • Ληφθείσες Ευχαριστίες 6
Αυτό που παίρνεις από την raw_input σαν απάντηση είναι ένα string και όχι ένας αριθμός για αυτό συμβαίνει αυτό.
num_str = raw_input("type a number : ")
 
num = int(num_str)
 
if num > 0 :
    print "NICE"
else:
    print "NOT NICE"
Τελευταία διόρθωση: 12 Χρόνια 2 Μήνες πριν από sbosx.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": kiriazispao4ever

input() vs raw_input() 12 Χρόνια 2 Μήνες πριν #1617

  • myle
  • Το Άβαταρ του/της myle
  • Αποσυνδεμένος
  • Admin
  • Δημοσιεύσεις: 467
  • Ληφθείσες Ευχαριστίες 15
Μπράβο σου που ασχολείσαι από (σχετικά) μικρός με τον προγραμματισμό! Η Python είναι εξαιρετική γλώσσα.

Ο Κώστας από πάνω ήδη απάντησε την ερώτηση. Εγώ απλά θα πρότεινα να χρησιμοποιείς Python 3. Οι διαφορές είναι μικρές. Για παράδειγμα, ο κώδικας σου θα γινόταν.
num_str = input("type a number : ")
 
num = int(num_str)
 
if num > 0:
    print("NICE")
else:
    print("NOT NICE")
«Αν υποθέσουμε ότι αυτό είναι δυνατό, (να μεταδώσουμε τη σοφία παντού) τότε ειλικρινά ο τρόπος ζωής των θεών θα περάσει στους ανθρώπους. Τα πάντα θα είναι γεμάτα...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

input() vs raw_input() 12 Χρόνια 2 Μήνες πριν #1619

  • kiriazispao4ever
  • Το Άβαταρ του/της kiriazispao4ever
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 11
σε ενα άλλο μαθητικό φορουμ που ανοιξα πηρα τον κωδικα
:
num=input("type a number : ")
if num > 0 :
print"NICE"
else:
print"NOT NICE"

ποια η διαφορά του κωδικά που μου παράθεσες? :/

ο λογος που χρησιμοποιώ την 2.6 είναι γιατί έχω βρει καποια πολυ βοηθητικά tutorials στο youtube..
αρχικα την 3.2 ειχα αλλα τώρα λογω των tutorials χρησιμοποιώ την 2.7

ευχαριστώ για την βοήθεια.
Τελευταία διόρθωση: 12 Χρόνια 2 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

input() vs raw_input() 12 Χρόνια 2 Μήνες πριν #1620

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Η input() είναι αντίστοιχη με eval(raw_input()). Δηλαδή καλεί την raw_input() και το αποτέλεσμα της το κάνει evaluate. Προσπάθησε πχ να της περάσεις ένα string. Τι θα χρειαστεί να κάνεις?

Για να καταλάβεις καλύτερα, άνοιξε τον interpreter και γράψε διαδοχικά
help(raw_input)
help(input)
Μετά πειραματίσου λίγο, δίνοντας διάφορες τιμές, πχ integers, strings κτλ για να δεις τι θα βγαίνει. Θα σε βοηθήσει σε αυτό και η type()
a = raw_input("give number :")
type(a)
a = input("give number :")
type(a)

edit: Οταν ανεβάζεις κώδικα, βάζε τον σε tags. Στον πλήρη editor (όχι αυτον της γρήγορης απάντησης είναι το κουμπάκι με σήμα "<>".
Τελευταία διόρθωση: 12 Χρόνια 2 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: input() vs raw_input() 12 Χρόνια 2 Μήνες πριν #1621

  • kiriazispao4ever
  • Το Άβαταρ του/της kiriazispao4ever
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 11
ευχαριστώ πολύ για τις πληροφορίες.
Τον επομένο κώδικα που θα ανεβάσω, θα τον βάλω.
Τελευταία διόρθωση: 12 Χρόνια 2 Μήνες πριν από kiriazispao4ever. Αιτία: προσθήκη κόμματος.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: input() vs raw_input() 12 Χρόνια 2 Μήνες πριν #1623

  • myle
  • Το Άβαταρ του/της myle
  • Αποσυνδεμένος
  • Admin
  • Δημοσιεύσεις: 467
  • Ληφθείσες Ευχαριστίες 15
Στην Python 3 δεν υπάρχει raw_input και η input κάνει την αντίστοιχη δουλειά.

Γενικά στην Python 3 έχουν διορθωθεί πολλές μικρές τέτοιες αβλεψίες και έτσι δεν χρειάζεται να μάθεις ιδιαιτερότητες μιας γλώσσας που προσπαθεί να μην έχει πολλές ιδιαιτερότητες (και πλέον έχουν καταργηθεί).

Η input με λίγα λόγια στην Python 2 είναι επικύνδινη και για αυτό πάντα προτείνεται η raw_input.

Επίσης, ένα tutorial για Python 3 έχουμε σε αυτό το site. Αν θες, μπορείς να διαβάζεις και από αυτό και ότι δε σε καλύπτει, για τον επόμενο καιρό (τουλάχιστον 2-3 βδομάδες), μόλις μας το αναφέρεις, θα το διορθώνω άμεσα.
«Αν υποθέσουμε ότι αυτό είναι δυνατό, (να μεταδώσουμε τη σοφία παντού) τότε ειλικρινά ο τρόπος ζωής των θεών θα περάσει στους ανθρώπους. Τα πάντα θα είναι γεμάτα...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": kiriazispao4ever
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.585 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου