Программалар құру -9 дәріс Тізімдер және кортеждер Сұрақтар



Pdf көрінісі
бет19/32
Дата30.04.2024
өлшемі2,52 Mb.
#201575
түріПрограмма
1   ...   15   16   17   18   19   20   21   22   ...   32
Байланысты:
8-9- дәріс - Тізімдер мен кортеждерМ

16. Тізімдерді өңдеу

Программалау мұғалімі семестр бойынша бірсыпыра зертхана-
лық жұмыстар қабылдады. Семестр соңында ол жұмыстардың 
орташа қорытындысын шығару алдында әрбір студенттің ең
төменгі бағасын алып тастады. 

Енді алдымен студенттер бағасын оқып, олардан ең төменгі баға-
ны алып тастап барып, орташа бағаны есептейтін программа құру 
керек. Мұның алгоритмі мынадай болуы тиіс: 
- Студенттердің бағаларын алу. 
- Бағалардың қосындысын есептеу. 
- Ең кіші бағаны табу. 
- Бағалар қосындысынан ең кіші бағаны алып тастау. Бұл өзгер-
тілген қосындыны береді. Осы қосындыны бағалардың 1-ге кемі-
тілген санына бөлу. Шыққан бөлінді орташа баға болып саналады. 
- Орташа бағаны көрсету. 

Келесі программада осы есеп 3-ке бөлініп берілген, алдымен 
басты функция, сонан соң екі қосымша функциялар келтірілген. 


Тізімдерді өңдеу
0
# Программа 7.12. (drop_lowest_score.py) Басты функция 

# Бұл программа зертханалық жұмыстар үшін бірсыпыра бағалар 
2
# енгізіп, солардың ең кішісін алып тастайды да, 
3
# орташа бағаны есептейді. 
4
5
def main () : 
6
# Қолданушыдан бағалар алу. 
7
scores = get_scores() 
8
9
# Бағалар қосындысын алу. 
10
total = get_total(scores) 
11
12
# Ең төменгі бағаны алу. 
13
lowest = min(scores) 
14


Тізімдерді өңдеу
15
# Қосындыдан ең кіші бағаны алып тастау. 
16
total -= lowest 
17
18
# Орташа мәнді есептеу. Қосындыны бағалар санынан
19
# 1-ді алып барып, содан шыққан санға бөлеміз, өйткені 
20
# ең төменгі баға алынып тасталған болатын. 
21
average = total / (len(scores) - 1) 
22
23
# Орташа мәнді көрсету. 
24
рrint('Ең төменгі бағаны алып тастаған соң, ', 
25
'орташа баға мәні = ', average) 
26


Тізімдерді өңдеу

7-жол қолданушыдан зертханалық жұмыстар бағасын алып, 
get_scores 
функциясын шақырады да, осы бағалар тізіміне сілтеме қайтарады. 
Тізім 
scores
айнымалысына меншіктеледі.

10-жол 
get_total 
функциясын шақырып, оған бағалар тізімін аргумент 
ретінде береді. Бұл функция тізімдегі мәндер қосындысын есептеп 
қайтарады да, оны 
total
айнымалысына меншіктейді. 

13-жол стандартты 
min
функциясын шақырып, оған 
scores
бағалар 
тізімін аргумент ретінде береді. Бұл функция тізімінің ең кіші мәнін 
анықтап, оны 
lowest
айнымалысына меншіктейді. 

16-жол 
total
айнымалысынан ең кіші бағаны алып тастайды. Сонан соң 
21-жол арифметикалық орташа мәнді, қосындыны 
len (scores) -1 
өрне-
гіне бөлу арқылы табады, өйткені ең төменгі баға алынып тасталған 
болатын. 

24- және 25-жолдар орташа бағаны көрсетеді. Ары қарай енді қарас-
тырылатын 
get_scores 
функциясы орналасады. 


Тізімдерді өңдеу
27
# get_scores функциясы қолданушыдан бірсыпыра
28
# бағалар мәнін алып, соларды тізімде сақтайды.
29
# Келесі функция тізімге сілтеме қайтарады. 
30
def get_scores(): 
31
# Бос тізім құру. 
32
test_scores = [] 
33
34
# Циклді басқаратын айнымалы жасау. 
35
again = 'и' 
36


Тізімдерді өңдеу
37
# Қолданушыдан бағаларды алып, 
38
# соларды тізімге қосу. 
39
while again == 'и': 
40
# Бағаны енгізіп, оны тізімге қосу. 
41
value = float(input('Баға енгізіңіз: ')) 
42
test_scores.append(value) 
43
44
# Бағаны тағы да енгізу/енгізбеу 
45
print ('Тағы да баға енгізесіз бе?') 
46
again = input('и = иә, қалғандары = жоқ: ') 
47
print () 
48
49
# Тізімді қайтару. 
50
return test_scores
51

Бұл get_scores функциясы 
бірсыпыра бағаларды енгі-
зеді де, оларды тізімге қо-
сады.

Тізім 50-жолда қайтарылады.

Енді тізімді қабылдап алатын 
get_total 
функциясы жұмы-
сын қарастырайық. 


Тізімдерді өңдеу
52
# get_total функциясы аргумент ретінде
53
# тізімді қабылдайды да, тізімдегі мәндер
54
# қосындысын қайтарады. 
55
def get_total(value_list): 
56
# Қосынды жинақтауышы ретіндегі айнымалыны құру. 
57
total = 0.0 
58
59
# Тізім элементтерінің мәндері қсындысын есептеу. 
60
for num in value_list: 
61
total += num 
62
63
# Қосындыны қайтару. 
64
return total 
65
66
# Басты функцияны шақыру. 
67
main () 

Бұл 
get_total
функциясы 
аргумент ретінде тізімді 
қабылдайды.

Тізім мәндерін қосу үшін ол
цикл мен қосымша айныма-
лыны пайдаланады.

64-жол қосынды қайтарады. 


Тізімдерді өңдеу
Программа нәтижелері:
Баға енгізіңіз: 92
Тағы да баға енгізесіз бе?
и = иә, қалғандары = жоқ: и
Баға енгізіңіз: 67
Тағы да баға енгізесіз бе?
и = иә, қалғандары = жоқ: и
Баға енгізіңіз: 75
Тағы да баға енгізесіз бе?
и = иә, қалғандары = жоқ: и
Баға енгізіңіз: 88
Тағы да баға енгізесіз бе?
и = иә, қалғандары = жоқ: ж
Ең төменгі бағаны алып тастаған соң, орташа баға мәні = 85.0




Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   32




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет