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

ΘΕΜΑ: Μετατροπη θερμοκρασιων

Μετατροπη θερμοκρασιων 8 Χρόνια 6 Μήνες πριν #3184

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Το μόνο που μπορεί να σε δυσκολεύει πολύ είναι το πως να ξεχωρίσεις τα δεδομένα σου από την συμβολοσειρά. Σου έφτιαξα μία συνάρτηση που κάνει αυτήν την δουλεία.

Η συνάρτηση πέρνει ένα όρισμα string πχ 125F, και σου επιστρέφει τον αριθμό 125 και τον χαρακτήρα F σε ένα tuple (To tuple είναι σαν την λίστα στην python, άλλα δεν μπορείς να αλλάξης τα στοιχεία της). Η συνάρτηση σου επιστρέφει None έαν ο χρήστης δεν σου δώσει σωστά το δεδομένο. Πχ εάν σου δώσει 124asddF ή 125D.


Συμβουλή:
Μην διαβάσεις τον κωδικά απευθείας από αυτό το post, κάνε τον copy-paste στον κειμενογράφο που χρησιμοποιείς για να μπορείς να τον διαβάσεις ευκολότερα.
def string_to_num(string):
 
    number = ""
 
    list_string = list(string) #Δημιουργία μιας λίστας με τους χαρακτήρες της string.
    temp_type = list_string[ len(list_string) - 1 ] #Πέρνω το τελευταίο χαρακτήρα της string.
 
    #Εάν ο τελευταίος χαρακτήρας δεν είναι c ή f τότε ο χρήστης δεν έδωσε έγκηρη θερμοκρασία.
    if temp_type.lower() != "c" and temp_type.lower() != "f":
        return None
 
    #To loop τρέχει μέχρι το προ τελευταίο στηχείο της λίστας.
    for i in range(0, len(list_string) - 1):
        number += list_string[i] #Δημιουργία του αριθμού χωρίς την κατάλληξη c ή f.
 
 
    #Προσπάθεια μετατροπής σε πραγματικό αριθμο.
    try:
        number = float(number)
 
    #Η μετατροπή απέτυχε.
    except:
        #Θα αποτύχη εάν ο χρήστης δεν δώσει χαρακτήρες αριθμών.
        #πχ 12asdF (Λάθος δεδομένο από τον χρήστη)
        #123F (Σωστό δεδομένο του χρήστη.)
        return None
 
    #Εφόσον όλα πήγαν καλά, επιστρέφω τον αριθμό και τον τύπο της θερμοκρασίας.
    return number, temp_type

Ελπίζω να καταλάβεις πως δουλεύει ο κώδικας που σε έδωσα. Κατά τα άλλα θα πρέπει να ξέρεις
τη να κάνεις με τις πληροφορίες που σε επιστρέφει αυτήν η συνάρτηση.

Θα σε δώσω και ένα παράδειγμα για να καταλάβεις.
Πες ότι ο χρήστης σε δίνει: "125C"

άμα περάσεις στην συνάρτηση το "125C" τότε θα σου επιστρέψει (125, "C")

Πρώτον με το "C" γνωρίζεις ότι ο χρήστης σε έδωσε θερμοκρασία σε Κελσίου, άρα
πρέπει να το μετατρέψεις σε φαρεναιτ. Και δεύτερον έχεις έτοιμο τον αριθμό 125
και μπορείς να κάνεις πράξεις σε αυτόν.
Τελευταία διόρθωση: 8 Χρόνια 6 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Μετατροπη θερμοκρασιων 8 Χρόνια 6 Μήνες πριν #3185

  • vaskot
  • Το Άβαταρ του/της vaskot
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 26
Κατι ποιο απλο δε παιζει για να λυθει το προγραμμα επειδη αυτα ειναι πολυ προχωρημενα για το ειδος του μαθηματος αλλα και για τα πραγματα που εχουμε κανει αυτη τη χρονικη στιγμη!! Τελος παντων... Ευχαριστω παντως για τη βοηθεια και το χρονο σας!!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Μετατροπη θερμοκρασιων 8 Χρόνια 6 Μήνες πριν #3186

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
vaskot έγραψε:
Κατι ποιο απλο δε παιζει για να λυθει το προγραμμα επειδη αυτα ειναι πολυ προχωρημενα για το ειδος του μαθηματος αλλα και για τα πραγματα που εχουμε κανει αυτη τη χρονικη στιγμη!! Τελος παντων... Ευχαριστω παντως για τη βοηθεια και το χρονο σας!!

Πιστεύω ότι η συνάρτηση που σου έδωσα είναι ο ποιό απλός τρόπος για να πάρεις τα δεδομένα
από τον χρήστη ως συμβολοσειρά. Άμα είσαι προτοετής και σας έβαλαν τέτοιο πρόβλημα από τώρα
τότε χωρίς παρεξήγηση αλλά οι καθηγητές είναι βλάκες. Και το ξέρω πολύ καλά αυτό, γιατί εγώ που είμαι σε πολυτεχενείο οι καθηγητές μας νόμιζαν ότι σε ένα εξάμηνο μας έκαναν έτοιμους για
την google. Για κάποιον αρχάριο, μέσα σε 2-3 μήνες είναι δύσκολο να μάθει να σκέφτεται τόσο
καλά (προγραμματιστικά) για να λύσει ένα τέτοιο πρόβλημα. Και αν όντως είσαι προτοετής και αρχάριος στον προγραμματισμό, που σημένει ότι έκανες το πολύ 2-3 μήνες μάθημα python τότε δικαίος δεν καταλαβαίνεις τους κώδικες που σε δίνουμε. Διαφορετικά, θα έπρεπε να μπορείς να καταλάβεις αρκετά από αυτά που σε λέμε.
Τελευταία διόρθωση: 8 Χρόνια 6 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Μετατροπη θερμοκρασιων 8 Χρόνια 6 Μήνες πριν #3187

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
vaskot έγραψε:
n=input()
while 0<n<100:
which=raw_input("Δωσε C ή F:" )
if(which=='C'):
c = input("Dwse timh ")
if -100<c<200:
f=(c*9/5)+32
print '%0.2f' %f
else:
print ('Dwse allh timh')


elif(which=='F'):
f=input('Dwse timh ')
if -100<f<200:
c=(f-32)*5/9
print '%0.2f' %f
else:
print('Dwse allh timh')


else:
print("EPELEKSE F, C")

Οριστε το προγραμμα μου απλα δε μου βγαινει η επαναληψη για το n! Εαν μπορειτε κοιταξτε την εκφωνηση της ασκησης και επισημανεται τα λαθη μου!! Σας Ευχαριστω πολυ


Αν έβαζες τον κώδικά σου σε code tags, θα βοηθούσες και μας.
(Είναι το εικονίδιο με τα δύο βελάκια <>.)
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Μετατροπη θερμοκρασιων 8 Χρόνια 6 Μήνες πριν #3188

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Ο κώδικας πρέπει να γίνει όπως παρακάτω:

n=input()
if 0 < n <= 100: # Έλεγχος για 1 ως 100. 
    while 0 < n: # Όσο n μεγαλύτερο από μηδέν.
        which=raw_input("Δωσε C ή F:" )
        if(which=='C'):
            c = input("Dwse timh ")
            if -100<c<200:
                f=(c*9/5)+32
                print('%0.2f' % f)
            else:
                print ('Dwse allh timh')
        elif(which=='F'):
            f=input('Dwse timh ')
            if -100<f<200:
                c=(f-32)*5/9
                print('%0.2f' % f)
            else:
                print('Dwse allh timh')
        else:
            print("EPELEKSE F, C")
 
        n -= 1 # Αφαιρούμε από τον μετρητή 1.


Πάντως με τον προγραμματισμό ψάξτο λίγο· μη μένεις μόνο σ' αυτά που σας διδάσκουν.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Μετατροπη θερμοκρασιων 8 Χρόνια 6 Μήνες πριν #3189

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
babaliaris1 έγραψε:
Άμα είσαι προτοετής και σας έβαλαν τέτοιο πρόβλημα από τώρα
τότε χωρίς παρεξήγηση αλλά οι καθηγητές είναι βλάκες. Και το ξέρω πολύ καλά αυτό, γιατί εγώ που είμαι σε πολυτεχενείο οι καθηγητές μας νόμιζαν ότι σε ένα εξάμηνο μας έκαναν έτοιμους για
την google. Για κάποιον αρχάριο, μέσα σε 2-3 μήνες είναι δύσκολο να μάθει να σκέφτεται τόσο
καλά (προγραμματιστικά) για να λύσει ένα τέτοιο πρόβλημα. Και αν όντως είσαι προτοετής και αρχάριος στον προγραμματισμό, που σημένει ότι έκανες το πολύ 2-3 μήνες μάθημα python τότε δικαίος δεν καταλαβαίνεις τους κώδικες που σε δίνουμε. Διαφορετικά, θα έπρεπε να μπορείς να καταλάβεις αρκετά από αυτά που σε λέμε.

Εδώ θα διαφωνήσω. Το πανεπιστήμιο δεν είναι δημοτικό, για να εξετάζεσαι σ' αυτό που διδάσκεσαι.
Ο καθηγητής θα δώσει κάποια βάση για να ξεκινήσεις και μετά εσύ πρέπει να το ψάξεις, κοινώς να το ερευνήσεις και να προχωρήσεις μόνος σου. Δηλαδή δεν σου δίνεται μασημένη γνώση. Πρέπει να τη βρεις μόνος σου.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Μετατροπη θερμοκρασιων 8 Χρόνια 6 Μήνες πριν #3190

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
kamar έγραψε:

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

Ναι το ξέρω, αλλά γιατί; Δηλαδή γιατί πάμε στο πανεπιστήμιο; Άμα ήταν θα καθόμουν σπίτι
και θα μάθαινα μόνος μου. Εγώ πραγματικά ότι έχω μάθει στο προγραμματισμό το έμαθα μόνος
μου, στο πολυτεχνείο δεν με έμαθαν τίποτα. Επίσης ότι υποτίθεται ότι αυτοί μας το μάθανε σε
6 μήνες εγώ το είχα μάθει σε 3 χρόνια. Και δεν σοκαρίστικα καθόλου όταν έμαθα ότι το 90%
τον μαθητών κόπηκαν στην c :P
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
  • Σελίδα:
  • 1
  • 2
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.455 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

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