Hara έγραψε:
Η λύση είναι:
r1=input("dose antistash")
r2=input("dose antistash")
r3=input("gia parallhlh pata 1,gia seira pata 2")
if(r3==1):
r=r1*r2/r1+r2
print r,r1,r2
else:
r=r1+r2
print r,r1,r2
Είναι λάθος ο τρόπος με τον οποίο διαβάζεις τα δεδομένα. Εσύ τα διαβάζεις ως συμβολοσειρές
και όχι ως νούμερα, άρα όταν εσύ δώσεις για r1 το 25 στην ουσία στην μεταβλητή r1 θα αποθηκευτεί
το "25" και όχι το 25.
Θα σου τα εξηγήσω όλα από την αρχή
για να τα καταλάβεις τέλεια!!!
Σχεδιασμός Του Προβλήματος
Βήμα 1)
Βλέπουμε ποια είναι τα δεδομένα της άσκησης. Το πρόβλημα μας λέει ότι ως δεδομένα είναι η R1 η
R2 και μία επιπλέον πληροφορία για να ξέρουμε εάν το κύκλωμα είναι σειριακό ή παράλληλο. Άρα
συνολικά έχουμε 3 δεδομένα.
Βήμα 2)
Μόλις συλλέξουμε τα δεδομένα πρέπει να τα επεξεργαστούμε για να πάρουμε αποτέλεσμα.
Βήμα 3)
Εμφανίζουμε τα αποτελέσματα στον χρήστη.
Υλοποίηση Του Προγράμματος
Βήμα 1: Διάβασμα Των Δεδομένων.
Διαβάζω τα δεδομένα:
#Έτσι διαβάζω έναν πραγματικό αριθμό στην python.
r1 = float(input("Δώσε την πρώτη αντίσταση: "))
r2 = float(input("Δώσε την δεύτερη αντίσταση: "))
#Έτσι διαβάζω έναν ακέραιο αριθμό στην python.
EidosKuklomatos = int(input("Δώσε τον τρόπο σύνδεσης των αντιστάσεων: "))
Βήμα 2: Επεξεργασία.
Τώρα θα γράψουμε τον κώδικα που κάνει την επεξεργασία.
#Εάν το κύκλωμα είναι σειριακό
#τότε υπολόγησε την ολική αντίσταση
#με τον παρακάτω τύπο.
if (EidosKuklomatos == 1):
r = r1 + r2
#Εάν είναι παράλληλο
#χρησιμοποίηση αυτόν τον τύπο.
elif (EidosKuklomatos == 2):
r = (r1 * r2) / (r1 + r2)
Βήμα 3: Εμφάνηση Αποτελεσμάτων
#Με την εντολή print εμφανίζω μηνύματα στην οθόνη.
print("To R1 =",r1,", και το R2 =",r2)
print("Η ολική αντίσταση είναι R =",r)
Άρα συνολικά ο κώδικας θα είναι ο εξής:
r1 = float(input("Δώσε την πρώτη αντίσταση: "))
r2 = float(input("Δώσε την δεύτερη αντίσταση: "))
EidosKuklomatos = int(input("Δώσε τον τρόπο σύνδεσης των αντιστάσεων: "))
if (EidosKuklomatos == 1):
r = r1 + r2
elif (EidosKuklomatos == 2):
r = (r1 * r2) / (r1 + r2)
print("To R1 =",r1,", και το R2 =",r2)
print("Η ολική αντίσταση είναι R =",r)
Σημείωση: Ο τρόπος με τον οποίο χρησιμοποιείς την εντολή print
λειτουργεί σε python 2.7 και σε
παλιότερη έκδοση. Τη έκδοση python χρησιμοποιείς; Δεν νομίζω
να εχεις πρόβλημα με τον κώδικα που σε έδωσα αλλά το λέω
για καλού κακού.
Ελπίζω να σε έδωσα να καταλάβεις κάποια πράγματα για το πως να προγραμματίζεις.
Από εδώ και πέρα πρέπει να κάτσεις να μελετήσεις python.
Ότι άλλη απορία έχεις ρώτα!!!
Καλή επιτυχία