Η Εντολή επανάληψης while
Σύνταξη:
While (συνθήκη) :
εντολή 1
εντολή 2
εντολή 3
Οι εντολές 1,2,3 επαναλαμβάνονται όσο η συνθήκη ισχύει (είναι αληθής)
Υπάρχουν δύο ειδών επαναλήψεις:
1) Επανάληψη που δεν γνωρίζω από πριν πόσες επαναλήψεις θα κάνω
2) Επανάληψη που ξέρω από την αρχή πόσες επαναλήψεις θα κάνω.
Το βιβλίο σας χρησιμοποιεί την while μόνο για επαναλήψεις που δεν ξέρω από πριν πόσες φορές θα εκτελεστούν.
ΜΕΘΟΔΟΛΟΓΙΑ:
Παράδειγμα:
Να γράψετε πρόγραμμα το οποίο να διαβάζει το μισθό των υπαλλήλων μιας εταιρείας και να υπολογίζει και να εμφανίζει τον μέσο όρο των μισθών. Η διαδικασία να επαναλαμβάνεται μέχρι να μας δοθεί μισθός μικρότερος ή ίσος του 0.
Για να βρω τον ΜΟ στην αρχή πρέπει να βρω το άθροισμα των μισθών και στη συνέχεια να διαιρέσω με το πλήθος τους.
sum=0 #Στην αρχή το άθροισμα είναι 0
i=0 # Στην αρχή οι αριθμοί που πήρα είναι 0
m=float(input(‘Δώσε το μισθό: ‘)) # Δώσε τον πρώτο μισθό
while m>0 : # όσο ο μισθός είναι πάνω από 0 επανέλαβε
#Αρχή επανάληψης
i=i+1 #Μόλις πήρα έναν μισθό που δεν είναι 0 άρα μέτρησέ τον
sum=sum+m #Το νέο άθροισμα ειναι το παλιό άθροισμα + τον μισθό που πήρα
m=float(input(‘Δώσε το μισθό: ‘)) # Ξαναγράφω την εντολή που έχω έξω από την επανάληψη
#Τέλος επανάληψης
if i!=0 : #Αν μου έδωσες έστω και ένα μισθό (το i τους μετράει)
mo=sum/i #Υπολόγισε τον ΜΟ
print ‘ Ο μέσος όρος μισθών είναι : ‘,mo # Εμφάνισε τον ΜΟ
else :
print(‘Δεν έδωσες κανένα μισθό’)
-
Να γραφτεί πρόγραμμα σε γλώσσα Python που να διαβάζει το βάρος δεμάτων και να υπολογίζει και να εμφανίζει το συνολικό βάρος που διαβάστηκε. Το πρόγραμμα θα τερματίζεται όταν πληκτρολογηθεί αριθμός μικρότερος ή ίσος με το μηδέν.
-
Να γραφτεί πρόγραμμα σε γλώσσα Python που να διαβάζει ηλικίες και να υπολογίζει τον μέσο όρο ηλικιών. Το πρόγραμμα θα τερματίζεται, όταν πληκτρολογηθεί αριθμός μικρότερος ή ίσος του μηδενός.
-
Ο καθηγητής έβαλε τους βαθμούς του Α’ τετραμήνου στην Πληροφορική και θέλει να βρει το μέσο όρο του τμήματος και πόσοι μαθητές είναι άριστοι (βαθμός πάνω από 18). Οι βαθμοί κυμαίνονται από 0 έως 20. Δεδομένου ότι το πλήθος των μαθητών είναι άγνωστο, ο καθηγητής θέλει να τελειώσει την εισαγωγή των βαθμών όταν δώσει την ειδική τιμή -1. Το πλήθος των μαθητών δεν είναι γνωστό εκ των προτέρων, μπορεί να είναι και μηδέν (0)
-
Να γραφτεί πρόγραμμα σε γλώσσα Python, που να δέχεται ακέραιους αριθμούς από τον χρήστη μέχρι να δώσει το μηδέν και να εμφανίζει το πλήθος των περιττών (μονών) που πληκτρολογήθηκαν.
ΛΥΣΕΙΣ:
-
——————————————————–
Λύση
#Υπολογισμός αθροίσματος
sum=0
b=float(input(‘Δώσε βάρος του δέματος : ‘))
while b>0:
sum=sum+b
b=float(input(‘Δώσε βάρος του δέματος : ‘))
print ‘Το συνολικό βάρος είναι : ‘,sum
-
——————————————————–
Λύση
s=0
i=0
h=float(input(‘Δώσε ηλικία: ‘))
while h>0:
s=s+h
i=i+1
h=float(input(‘Δώσε ηλικία: ‘))
if i!=0:
mo=s/i
print ‘Μέσος όρος ηλικίας’,mo
else:
print ‘Δεν δόθηκαν ηλικίες’
-
——————————————————–
Λύση:
#Πληροφορική
pl_ar=0
pl_math=0
sum=0
b=float(input(‘Δώσε βαθμό μαθητή : ‘))
while b!=-1:
if b>18:
pl_ar=pl_ar+1
sum=sum+b
pl_math=pl_math+1
b=float(input(‘Δώσε βαθμό μαθητή : ‘))
if pl_math!=0:
m_o=sum/pl_math
print ‘Μέσος όρος=’,m_o,’Αριστούχοι= ‘,pl_ar
else:
print ‘Δεν δόθηκε κανένας βαθμός’
-
——————————————————–
Λύση
#Εύρεση πλήθους περιττών (μονών ) αριθμών
pl_per=0
a=int(input(‘δώσε έναν αριθμό : ‘))
while a!=0:
if a%2==1 :
pl_per=pl_per+1
a=int(input(‘δώσε έναν αριθμό : ‘))
print ‘Μου έδωσες : ‘,pl_per,’ περιττούς αριθμούς’