Διαδρομές
/
Python
Python
/
Ασκήσεις
/
Ειδικός στα χρώματα αντιστάσεων
Ειδικός στα χρώματα αντιστάσεων

Ειδικός στα χρώματα αντιστάσεων

Εύκολο

Εισαγωγή

Αν θέλεις να φτιάξεις κάτι με ένα Raspberry Pi, πιθανότατα θα χρησιμοποιήσεις αντιστάτες. Όπως και στις προηγούμενες ασκήσεις Resistor Color Duo και Resistor Color Trio, θα μετατρέπεις τις χρωματικές ζώνες των αντιστατών σε ετικέτες αναγνώσιμες από τον άνθρωπο.

  • Κάθε αντιστάτης έχει μια τιμή αντίστασης.
  • Οι αντιστάτες είναι μικροί, τόσο μικροί που αν τύπωνες πάνω τους την τιμή αντίστασης, θα ήταν δύσκολο να τη διαβάσεις. Για να ξεπεράσουν αυτό το πρόβλημα, οι κατασκευαστές τυπώνουν πάνω στους αντιστάτες χρωματιστές ζώνες που δηλώνουν την τιμή αντίστασής τους.
  • Κάθε ζώνη λειτουργεί ως ψηφίο ενός αριθμού. Για παράδειγμα, αν τύπωναν μια καφέ ζώνη (τιμή 1) και μετά μια πράσινη ζώνη (τιμή 5), αυτό θα αντιστοιχούσε στον αριθμό 15.

Οδηγίες

Σε αυτή την άσκηση θα φτιάξεις ένα χρήσιμο πρόγραμμα, ώστε να μη χρειάζεται να θυμάσαι τις τιμές των ζωνών. Το πρόγραμμα θα παίρνει ως είσοδο 1, 4 ή 5 χρώματα και θα βγάζει τη σωστή τιμή σε ωμ. Οι χρωματικές ζώνες κωδικοποιούνται ως εξής:

  • black: 0
  • brown: 1
  • red: 2
  • orange: 3
  • yellow: 4
  • green: 5
  • blue: 6
  • violet: 7
  • grey: 8
  • white: 9

Στο Resistor Color Trio αποκωδικοποιούσες τις τρεις πρώτες χρωματικές ζώνες. Για παράδειγμα: το orange-orange-brown αντιστοιχεί στην κύρια τιμή 330. Σε αυτή την άσκηση θα χρειαστεί να προσθέσεις και την ανοχή στο μείγμα. Η ανοχή είναι η μέγιστη απόκλιση κατά την οποία μια τιμή μπορεί να βρίσκεται πάνω ή κάτω από την κύρια τιμή. Για παράδειγμα, αν η τελευταία ζώνη είναι green, η μέγιστη ανοχή θα είναι ±0.5%.

Η ζώνη ανοχής θα έχει μία από τις παρακάτω τιμές:

  • grey - 0.05%
  • violet - 0.1%
  • blue - 0.25%
  • green - 0.5%
  • brown - 1%
  • red - 2%
  • gold - 5%
  • silver - 10%

Η αντίσταση τεσσάρων ζωνών δομείται ως εξής:

Ζώνη_1 Ζώνη_2 Ζώνη_3 Ζώνη_4
Τιμή_1 Τιμή_2 Πολλαπλασιαστής Ανοχή

Παραδείγματα:

  • το orange-orange-brown-green θα ήταν 330 ωμ με ανοχή ±0.5%.
  • το orange-orange-red-grey θα ήταν 3300 ωμ με ανοχή ±0.05%.

Η διαφορά ανάμεσα σε μια αντίσταση τεσσάρων και σε μια αντίσταση πέντε ζωνών είναι ότι η αντίσταση πέντε ζωνών έχει μια επιπλέον ζώνη που δηλώνει μια πιο ακριβή τιμή.

Ζώνη_1 Ζώνη_2 Ζώνη_3 Ζώνη_4 Ζώνη_5
Τιμή_1 Τιμή_2 Τιμή_3 Πολλαπλασιαστής Ανοχή

Παραδείγματα:

  • το orange-orange-orange-black-green θα ήταν 333 ωμ με ανοχή ±0.5%.
  • το orange-red-orange-blue-violet θα ήταν 323 million ωμ με ανοχή ±0.1%.

Υπάρχουν επίσης αντιστάσεις με μία ζώνη. Οι αντιστάσεις με μία ζώνη έχουν μόνο το χρώμα black, με τιμή 0.

Το πρόγραμμα σου θα πρέπει να μετατρέπει μια list εισόδου με τα χρώματα των ζωνών της αντίστασης σε μια ετικέτα:

"... ohms ±...%"

Έτσι, με μια list εισόδου ["orange", "orange", "black", "green"] θα πρέπει να επιστρέφεται:

"33 ohms ±0.5%"

Όταν έχουμε χιλιάδες ωμ, λέμε "kiloohms". Είναι σαν να λέμε "χιλιόμετρο" για 1000 μέτρα και "χιλιόγραμμο" για 1000 γραμμάρια.

Έτσι, με μια list εισόδου ["orange", "orange", "orange", "grey"] θα πρέπει να επιστρέφεται:

"33 kiloohms ±0.05%"

Όταν έχουμε εκατομμύρια ωμ, λέμε "megaohms".

Έτσι, με μια list εισόδου ["orange", "orange", "blue", "red"] θα πρέπει να επιστρέφεται:

"33 megaohms ±2%"

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Python Exercism

Έτοιμος να ξεκινήσεις την άσκηση Ειδικός στα χρώματα αντιστάσεων;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Python με 17 έννοιες146 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.