Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Простой Python просто с нуля

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
ɜɩɟɱɚɬɥɟɧɢɟ ɧɚ ɞɟɜɭɲɤɭ, ɜɵɭɱɢɬɟ, ɩɨɦɨɠɟɬ. ȿɫɥɢ ɞɟɜɭɲɤɚ ɚɦɟɪɢɤɚɧɫɤɚɹ,
S
S
ɤɨɧɟɱɧɨ. ɏɨɬɹ ɢ ɧɚ ɧɚɲɭ ɧɹɲɭ ɫɬɢɯɢ ɧɚ ɧɟɩɨɧɹɬɧɨɦ ɹɡɵɤɟ ɨɤɚɠɭɬ ɫɬɢɦɭɥɢɪɭɸɳɟɟ ɜɨɡɞɟɣɫɬɜɢɟ. ɉɨɱɟɦɭ ɜɨɡɜɟɞɟɧɢɟ ɜ ɫɬɟɩɟɧɶ? ȼ ɨɞɧɨɣ ɢɡ ɤɧɢɝ Ɇɚɪɬɢɧɚ Ƚɚɪɞɧɟɪɚ –
ɩɪɨɱɢɬɚɣɬɟ ɨɛɹɡɚɬɟɥɶɧɨ – ɹ ɧɚɲɺɥ ɜɨɩɪɨɫ: ɱɬɨ ɛɨɥɶɲɟ,
e ɢɥɢ
e
? ɇɚɤɨɧɟɰ-ɬɨ ɹ ɧɚɲɺɥ ɜɪɟɦɹ ɢ ɦɟɫɬɨ ɷɬɨ ɭɡɧɚɬɶ. ɂ ɜɚɦ ɬɨɠɟ ɩɪɢɲɥɨɫɶ. # ɤɨɧɟɰ Ʉɨɦɦɟɧɬɚɪɢɹ
ɑɬɨ ɜɚɠɧɟɟ ɢ ɢɧɬɟɪɟɫɧɟɟ, ɫɩɢɫɨɤ ɦɨɠɟɬ ɫɨɞɟɪɠɚɬɶ ɢ ɞɪɭɝɢɟ ɫɩɢɫɤɢ. ɉɪɨɫɬɨɣ ɩɪɢɦɟɪ. ȿɫɬɶ ɞɜɚ ɫɩɢɫɤɚ:
a = [1,2,3,4,5] b = [101,102]
Ⱦɨɛɚɜɥɹɟɦ ɜɬɨɪɨɣ ɤ ɩɟɪɜɨɦɭ:
a = a + b print a
[1, 2, 3, 4, 5, 101, 102]
ɗɥɟɦɟɧɬɵ ɜɬɨɪɨɝɨ ɫɩɢɫɤɚ ɛɵɥɢ ɞɨɛɚɜɥɟɧɵ ɜ ɯɜɨɫɬ ɩɟɪɜɨɝɨ, ɞɨɛɚɜɥɟɧɵ ɩɨ ɨɞɧɨɦɭ, ɤɚɤ ɨɬɞɟɥɶɧɵɟ ɷɥɟɦɟɧɬɵ. Ⱥ ɬɟɩɟɪɶ ɞɨɛɚɜɢɦ ɜɬɨɪɨɣ ɫɩɢɫɨɤ ɤɚɤ ɨɬɞɟɥɶɧɵɣ ɷɥɟɦɟɧɬ.
a.append(b) print a
[1, 2, 3, 4, 5, [101, 102]]
Ɍɟ ɠɟ ɱɢɫɥɚ ɜɧɭɬɪɢ ɩɟɪɜɨɝɨ ɫɩɢɫɤɚ, ɧɨ ɫɨɯɪɚɧɢɥɨɫɶ ɢɯ ɨɛɴɟɞɢɧɟɧɢɟ ɜ ɬɨɠɟ ɫɩɢɫɨɤ. Ʉɚɤ ɨɛɪɚɬɢɬɶɫɹ ɤ ɬɚɤɨɦɭ ɷɥɟɦɟɧɬɭ? Ɍɨɱɧɨ ɬɚɤ ɠɟ, ɤɚɤ ɢ ɤ ɨɛɵɱɧɨɦɭ, ɩɨ ɢɧɞɟɤɫɭ.
a0 = a[0] a5 = a[5] print a0, a5
1 [101, 102]
ɇɨ ɬɚɤ ɦɵ ɩɨɥɭɱɢɥɢ ɜɟɫɶ ɫɩɢɫɨɤ. Ⱥ ɤɚɤ ɨɛɪɚɬɢɬɶɫɹ ɤ ɨɞɧɨɦɭ ɨɬɞɟɥɶɧɨɦɭ ɷɥɟɦɟɧɬɭ ɬɨɝɨ ɫɩɢɫɤɚ, ɤɨɬɨɪɵɣ ɜɧɭɬɪɢ? ɗɬɨ ɧɟɦɧɨɝɨ ɫɥɨɠɧɟɟ:
111
a50 = a[5][0] print a50
101
ɂɡɦɟɧɟɧɢɟ ɡɧɚɱɟɧɢɣ ɫɨɜɟɪɲɟɧɧɨ ɚɧɚɥɨɝɢɱɧɨ, ɡɚɦɟɧɢɦ ɜɧɭɬɪɟɧɧɢɣ ɫɩɢɫɨɤ ɰɟɥɢɤɨɦ, ɚ ɩɨɬɨɦ ɨɬɞɟɥɶɧɵɣ ɷɥɟɦɟɧɬ ɜ ɧɺɦ:
a[5] = [0.99, 0.999, 0.9999] print a a[5][1] = 'ax+b' print a
1, 2, 3, 4, 5, [0.99, 0.999, 0.9999]] [1, 2, 3, 4, 5, [0.99, 'ax+b', 0.9999]]
Ʉɚɤ ɜɢɞɢɬɟ, ɷɥɟɦɟɧɬ ɜɨɜɫɟ ɧɟ ɨɛɹɡɚɬɟɥɶɧɨ ɡɚɦɟɧɹɬɶ ɷɥɟɦɟɧɬɨɦ ɬɨɝɨ ɠɟ ɬɢɩɚ, ɚ ɫɩɢɫɨɤ – ɫɩɢɫɤɨɦ ɬɨɣ ɠɟ ɞɥɢɧɵ. ɋɩɢɫɤɢ – ɷɬɨ ɨɱɟɧɶ ɦɨɳɧɵɣ, ɝɢɛɤɢɣ ɢ ɧɚ ɥɟɬɭ ɫɚɦ ɫɟɛɹ ɦɟɧɹɸɳɢɣ ɢɧɫɬɪɭɦɟɧɬ. ɏɨɬɹ ɹ ɢ ɧɟ ɭɜɟɪɟɧ, ɹɜɥɹɟɬɫɹ ɥɢ ɩɨɯɜɚɥɨɣ ɨɩɪɟɞɟɥɟɧɢɟ «ɝɢɛɤɢɣ» ɜ ɨɬɧɨɲɟɧɢɢ ɢɧɫɬɪɭɦɟɧɬɚ – ɝɢɛɤɢɣ ɦɨɥɨɬɨɤ ɜɵɡɵɜɚɟɬ ɨɩɪɟɞɟɥɺɧɧɵɟ ɫɨɦɧɟɧɢɹ. Ɍɚɤ ɱɬɨ ɞɥɹ ɧɚɱɚɥɚ ɨɝɪɚɧɢɱɢɦ, ɢ ɫɢɥɶɧɨ ɨɝɪɚɧɢɱɢɦ, ɧɚɲ ɢɧɫɬɪɭɦɟɧɬ. Ɂɚɣɦɺɦɫɹ ɫɩɢɫɤɚɦɢ, ɫɨɞɟɪɠɚɳɢɦɢ ɫɩɢɫɤɢ, ɤɨɬɨɪɵɟ ɫɨɞɟɪɠɚɬ ɫɩɢɫɤɢ… ɤɨɬɨɪɵɟ ɜ ɢɬɨɝɟ ɫɨɞɟɪɠɚɬ ɬɨɥɶɤɨ ɱɢɫɥɚ.
ɋɧɚɱɚɥɚ ɦɚɥɟɧɶɤɚɹ, ɛɟɡ ɨɫɨɛɨɝɨ ɫɦɵɫɥɚ, ɜɜɨɞɧɚɹ ɡɚɞɚɱɚ. ɉɨɬɨɦ ɛɨɥɶɲɚɹ ɢ ɩɨɱɬɢ ɩɪɚɤɬɢɱɟɫɤɚɹ. Ɇɚɥɟɧɶɤɚɹ ɡɚɞɚɱɚ ɬɚɤɚɹ – ɚ ɤɚɤ, ɫɨɛɫɬɜɟɧɧɨ, ɫɨɡɞɚɬɶ ɞɜɭɦɟɪɧɵɣ ɫɩɢɫɨɤ? ɉɪɹɦɨɭɝɨɥɶɧɵɣ, ɧɚɩɪɢɦɟɪ ɩɹɬɶ ɫɬɪɨɤ ɩɨ ɬɪɢ ɷɥɟɦɟɧɬɚ ɜ ɤɚɠɞɨɣ. Ɍɨ, ɱɬɨ ɜ ɦɚɬɟɦɚɬɢɤɟ ɧɚɡɵɜɚɟɬɫɹ ɦɚɬɪɢɰɚ. Ʉɚɤ ɫɨɡɞɚɬɶ ɪɭɤɚɦɢ, ɜɵɩɢɫɚɜ ɜɫɟ ɷɥɟɦɟɧɬɵ, ɩɨɧɹɬɧɨ. Ⱥ ɤɚɤ ɜ ɰɢɤɥɟ? ɉɨɧɹɬɧɨ ɬɨɥɶɤɨ, ɱɬɨ ɰɢɤɥɨɜ ɞɨɥɠɧɨ ɛɵɬɶ ɞɜɚ ɢ ɨɧɢ ɞɨɥɠɧɵ ɛɵɬɶ ɜɥɨɠɟɧɧɵɦɢ. ɉɪɟɞɥɚɝɚɸ ɫɨɡɞɚɬɶ ɜɪɟɦɟɧɧɵɣ ɫɩɢɫɨɤ, ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɨɞɧɨɣ ɫɬɪɨɤɟ ɦɚɬɪɢɰɵ, ɢ ɞɨɛɚɜɥɹɬɶ ɟɝɨ. ɉɨɤɚɡɵɜɚɸ ɧɚ ɩɚɥɶɰɚɯ – ɫɨɡɞɚɥɢ ɫɩɢɫɨɤ [1,2,3] – ɞɨɛɚɜɢɥɢ, ɟɳɟ ɫɩɢɫɨɤ [4,5,6] – ɨɩɹɬɶ ɞɨɛɚɜɢɥɢ.
a=[] n=5 m=3
for i in xrange(0,n): wrk=[] for k in xrange(0,m): wrk.append(0) a.append(wrk)
112
print a
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
ɋɩɢɫɨɤ ɡɚɩɨɥɧɟɧ ɛɟɡ ɡɚɬɟɣ, ɧɭɥɹɦɢ. ɇɭɞɧɵɟ ɱɢɬɚɬɟɥɢ ɦɨɝɭɬ ɡɚɞɚɬɶ ɜɨɩɪɨɫɚ ɩɨɱɟɦɭ ɹ ɪɟɲɢɥ, ɱɬɨ ɭ ɧɚɫ ɩɹɬɶ ɫɬɪɨɤ ɩɨ ɬɪɢ ɷɥɟɦɟɧɬɚ? ɉɨɱɟɦɭ ɧɟ ɩɹɬɶ
ɫɬɨɥɛɰɨɜ ɩɨ ɬɪɢ ɷɥɟɦɟɧɬɚ ɜ ɤɚɠɞɨɦ, ɜɟɞɶ ɦɨɠɧɨ ɩɨɧɹɬɶ ɷɬɭ ɡɚɩɢɫɶ ɢ ɬɚɤ? ɉɪɨɫɬɨ ɩɨɬɨɦɭ, ɱɬɨ ɬɚɤ ɩɪɢɧɹɬɨ. ȼ ɛɨɥɶɲɢɧɫɬɜɟ ɹɡɵɤɨɜ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɦɚɬɪɢɰɵ ɡɚɞɚɸɬɫɹ ɩɨ ɫɬɪɨɤɚɦ. ȿɞɢɧɫɬɜɟɧɧɨ ɡɚɦɟɬɧɨɟ ɢɫɤɥɸɱɟɧɢɟ – Ɏɨɪɬɪɚɧ. ɂ ɟɳɺ ɧɚɩɨɦɢɧɚɧɢɟ, ɯɨɬɹ ɨɛ ɷɬɨɦ ɭɠɟ ɢ ɝɨɜɨɪɢɥɨɫɶ, ɧɨ ɧɟɦɧɨɝɨ ɞɪɭɝɢɦɢ ɫɥɨɜɚɦɢ. Ɇɵ ɦɨɠɟɦ ɨɛɪɚɬɢɬɶɫɹ ɤɚɤ ɤ ɥɸɛɨɦɭ ɷɥɟɦɟɧɬɭ ɜ ɨɬɞɟɥɶɧɨɫɬɢ, ɬɚɤ ɢ ɤɨ ɜɫɟɣ ɫɬɪɨɤɟ ɰɟɥɢɤɨɦ:
b = [[1,2,3], [4,5,6], [7,8,9]] print b[1] b[1] = [444,445,446] print b
[4, 5, 6] [[1, 2, 3], [444, 445, 446], [7, 8, 9]]
Ɍɟɩɟɪɶ ɡɚɞɚɱɚ ɫɥɨɠɧɚɹ, ɨɛɴɟɞɢɧɹɸɳɚɹ ɜ ɫɟɛɟ ɧɟɫɤɨɥɶɤɨ ɡɚɞɚɱ ɩɨɩɪɨɳɟ. ɋɧɚɱɚɥɚ ɩɪɢɞɚɞɢɦ ɜɫɟɦ ɷɬɢɦ ɚɛɫɬɪɚɤɬɧɵɦ ɫɬɪɨɤɚɦ ɢ ɫɬɨɥɛɰɚɦ ɤɨɧɤɪɟɬɧɵɣ ɮɢɡɢɱɟɫɤɢɣ ɫɦɵɫɥ. ȿɫɬɶ ɛɨɥɶɲɨɣ ɫɩɢɫɨɤ – ɷɬɨ ɝɨɞ. ȼ ɧɺɦ ɫɩɢɫɤɢ ɩɨɦɟɧɶɲɟ – ɷɬɨ ɦɟɫɹɰɵ. ȼ ɧɢɯ, ɤɚɤ ɥɟɝɤɨ ɞɨɝɚɞɚɬɶɫɹ, ɞɧɢ, ɬɨɱɧɟɟ – ɞɧɟɜɧɚɹ ɬɟɦɩɟɪɚɬɭɪɚ. ɉɪɨɝɪɚɦɦɚ ɪɚɫɫɱɢɬɵɜɚɟɬ ɫɪɟɞɧɸɸ ɬɟɦɩɟɪɚɬɭɪɭ ɡɚ ɤɚɠɞɵɣ ɦɟɫɹɰ ɢ ɜɵɜɨɞɢɬ. ɉɪɨɫɬɨɣ ɜɨɩɪɨɫ – ɚ ɨɬɤɭɞɚ ɜɨɡɶɦɭɬɫɹ ɢɫɯɨɞɧɵɟ ɞɚɧɧɵɟ? ɉɪɨɫɬɨɣ ɨɬɜɟɬ – ɦɵ ɢɯ ɫɝɟɧɟɪɢɪɭɟɦ ɫɥɭɱɚɣɧɵɦ ɨɛɪɚɡɨɦ, ɧɨ ɫ ɨɬɬɟɧɤɨɦ ɩɪɚɜɞɨɩɨɞɨɛɢɹ, ɱɬɨɛɵ ɜ ɞɟɤɚɛɪɟ ɛɵɥɨ ɯɨɥɨɞɧɟɟ, ɱɟɦ ɜ ɦɚɟ.
ȼ ɪɚɡɧɵɯ ɦɟɫɹɰɚɯ ɪɚɡɧɨɟ ɤɨɥɢɱɟɫɬɜɨ ɞɧɟɣ, ɟɫɥɢ ɜɵ ɧɟ ɡɧɚɥɢ. ɂ ɜɵɜɨɞɢɬɶ ɞɚɧɧɵɟ ɩɨ ɦɟɫɹɰɚɦ ɥɭɱɲɟ ɪɹɞɨɦ ɫ ɧɚɡɜɚɧɢɹɦɢ ɦɟɫɹɰɟɜ. ɂ ɞɥɹ ɝɟɧɟɪɚɰɢɢ ɧɟ ɫɨɜɫɟɦ ɛɪɟɞɨɜɵɯ ɬɟɦɩɟɪɚɬɭɪ ɧɟɩɥɨɯɨ ɢɦɟɬɶ ɩɨɞ ɪɭɤɨɣ ɫɪɟɞɧɢɟ ɬɟɦɩɟɪɚɬɭɪɵ ɩɨ ɦɟɫɹɰɚɦ. ɗɬɨ, ɪɚɡɭɦɟɟɬɫɹ, ɩɪɢɞɺɬɫɹ ɜɜɨɞɢɬɶ ɪɭɤɚɦɢ, ɜɨɬ ɷɬɢɦɢ ɫɨɛɫɬɜɟɧɧɵɦɢ ɪɭɤɚɦɢ. ɋɭɳɟɫɬɜɨɜɚɧɢɟ ɜɢɫɨɤɨɫɧɵɯ ɝɨɞɨɜ ɦɵ ɢɝɧɨɪɢɪɭɟɦ. ȿɫɥɢ ɱɬɨ, ɞɚɥɟɟ – ɫɪɟɞɧɹɹ ɬɟɦɩɟɪɚɬɭɪɚ ɭ ɧɚɫ. Ʉɚɤɚɹ ɭ ɜɚɫ ɫɪɟɞɧɹɹ ɬɟɦɩɟɪɚɬɭɪɚ, ɹ ɧɟ ɡɧɚɸ.
import random mnum = 12
mnames = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] mdays = [ 21,28,31, 30,31,30, 31,31,30, 31,30,31]
113
mtemps = [ -8.0,-4.6,-0.8, 5.4,12.7,15.3, 18.2,17.6,11.2, 3.3,-2,-2.7]
Ⱥ ɡɞɟɫɶ ɦɵ ɩɪɚɜɞɨɩɨɞɨɛɧɨ ɡɚɩɨɥɧɹɟɦ ɜɟɫɶ ɝɨɞ ɩɨ ɦɟɫɹɰɚɦ ɩɫɟɜɞɨɫɥɭɱɚɣɧɵɦɢ ɬɟɦɩɟɪɚɬɭɪɚɦɢ:
year = [] for i in xrange(0,12): month = [] for k in xrange(0,mdays[i]): month.append(random.uniform( mtemps[i]-5, mtemps[i]+5)) year.append(month)
#print year
ə-ɬɨ, ɤɨɧɟɱɧɨ, ɜɵɜɨɞ ɪɚɫɤɨɦɦɟɧɬɢɪɨɜɚɥ ɢ ɩɪɨɜɟɪɢɥ – ɞɚɧɧɵɟ ɜɵɝɥɹɞɹɬ ɛɨɥɟɟ-ɦɟɧɟɟ ɩɪɚɜɞɨɩɨɞɨɛɧɨ, ɧɨ ɭɠ ɨɱɟɧɶ ɞɥɢɧɧɵɟ – ɡɞɟɫɶ ɩɪɢɜɨɞɢɬɶ ɧɟ ɛɭɞɭ.
# ɫɨɜɟɬ ȼɵɹɫɧɢɬɟ, ɱɟɦ ɨɬɥɢɱɚɟɬɫɹ ɪɚɜɧɨɦɟɪɧɨɟ ɪɚɫɩɪɟɞɟɥɟɧɢɟ ɫɥɭɱɚɣɧɨɣ ɜɟɥɢɱɢɧɵ ɨɬ ɧɨɪɦɚɥɶɧɨɝɨ ɪɚɫɩɪɟɞɟɥɟɧɢɹ ɟɺ ɠɟ. Ⱦɨɝɚɞɚɣɬɟɫɶ, ɤɚɤɨɟ ɢɡ ɧɢɯ ɭ ɧɚɫ ɜ ɠɢɜɨɣ ɩɪɢɪɨɞɟ. ɉɨɦɟɧɹɣɬɟ ɪɚɫɩɪɟɞɟɥɟɧɢɟ ɧɚ ɞɪɭɝɨɟ, ɮɭɧɤɰɢɹ ɟɫɬɶ ɜ ɦɨɞɭɥɟ
random.
# ɤɨɧɟɰ ɋɨɜɟɬɚ
Ⱥ ɬɟɩɟɪɶ ɨɫɧɨɜɧɚɹ ɱɚɫɬɶ ɪɚɛɨɬɵ, ɫɱɢɬɚɟɦ ɫɪɟɞɧɸɸ ɬɟɦɩɟɪɚɬɭɪɭ ɩɨ ɩɚɥɚɬɟ, ɢɡɜɢɧɢɬɟ, ɩɨ ɦɟɫɹɰɭ. ɂ ɤɪɚɫɢɜɨ ɜɵɜɨɞɢɦ, ɤɨɧɟɱɧɨ. Ɋɟɡɭɥɶɬɚɬɵ ɩɨɞɫɱɺɬɚ, ɤɚɤ ɜɵ ɩɨɧɢɦɚɟɬɟ, ɨɬɩɪɚɜɹɬɫɹ ɜ ɨɬɞɟɥɶɧɵɣ ɫɩɢɫɨɤ.
mavs = [] for i in xrange(0,12): mavs.append(0) for k in xrange(0,mdays[i]): mavs[i] = mavs[i] + year[i][k] mavs[i] = mavs[i] / mdays[i]
print mavs
Ɋɚɡɭɦɟɟɬɫɹ ɭ ɦɟɧɹ ɧɟ ɯɜɚɬɢɥɨ ɬɪɭɞɨɥɸɛɢɹ, ɱɬɨɛɵ ɩɪɨɜɟɪɢɬɶ ɩɪɚɜɢɥɶɧɨɫɬɶ ɜɵɱɢɫɥɟɧɢɹ ɫɪɟɞɧɟɝɨ. ɇɨ ɹ ɩɨɫɦɨɬɪɟɥ ɧɚ ɪɟɡɭɥɶɬɚɬ – ɜɵɝɥɹɞɢɬ ɩɨɯɨɠɟ ɧɚ ɩɪɚɜɞɭ. Ɍɟɩɟɪɶ ɤɪɚɫɢɜɵɣ ɜɵɜɨɞ – ɧɭ, ɧɟ ɨɱɟɧɶ ɤɪɚɫɢɜɵɣ, ɱɬɨ ɩɨɥɭɱɢɥɨɫɶ.
for i in xrange(0,12): print mnames[i].ljust(10), print mavs[i]
114
ɇɚ ɱɬɨ ɨɛɪɚɬɢɬɶ ɜɧɢɦɚɧɢɟ – ɧɚ ɡɚɩɹɬɭɸ ɩɨɫɥɟ ɩɟɪɜɨɣ ɫɬɪɨɤɢ ɜɵɜɨɞɚ. ɗɬɨ ɭɠɟ ɛɵɥɨ, ɡɚɩɹɬɚɹ ɡɚɩɪɟɳɚɟɬ ɩɟɪɟɯɨɞ ɧɚ ɧɨɜɭɸ ɫɬɪɨɤɭ ɩɨɫɥɟ ɩɟɪɜɨɝɨ ɜɵɜɨɞɚ. ɇɟ ɨɱɟɧɶ ɤɪɚɫɢɜɨ, ɤɨɧɟɱɧɨ, ɡɚɬɨ ɩɪɨɫɬɨ. ɂɧɬɟɪɟɫɧɟɟ ɢ ɧɨɜɟɟ ɦɟɬɨɞ
ljust. Ʉɚɤ ɢ ɥɸɛɨɣ ɦɟɬɨɞ, ɨɧ ɜɵɡɵɜɚɟɬɫɹ ɱɟɪɟɡ ɬɨɱɤɭ ɨɬ ɢɦɟɧɢ ɨɛɴɟɤɬɚ.
Ɇɟɬɨɞɵ ɫɩɟɰɢɮɢɱɧɵ ɞɥɹ ɬɢɩɚ ɨɛɴɟɤɬɚ. ɇɚɲɟ
mavs[i] ɹɜɥɹɟɬɫɹ ɨɛɴɟɤɬɨɦ
ɫɬɪɨɤɨɜɨɝɨ ɬɢɩɚ, ɩɨɷɬɨɦɭ ɨɛɥɚɞɚɟɬ ɦɟɬɨɞɚɦɢ ɫɬɪɨɤ. ɋɚɦ ɩɨ ɫɟɛɟ ɦɟɬɨɞ
ljust ɨɱɟɧɶ ɩɪɨɫɬ. ɉɨɫɥɟ ɨɛɪɚɳɟɧɢɹ ɤ ɧɟɦɭ ɫ ɩɚɪɚɦɟɬɪɨɦ 10, ɫɬɪɨɤɚ ‘123’
ɩɪɟɜɪɚɳɚɟɬɫɹ ɜ ɫɬɪɨɤɭ ‘123 ’, ɬɨ ɟɫɬɶ ɩɨɥɭɱɚɟɬ ɫɟɦɶ ɞɨɩɨɥɧɢɬɟɥɶɧɵɯ ɩɪɨɛɟɥɨɜ ɜ ɡɚɞ. ɗɬɨ ɬɚɤ ɢ ɧɚɡɵɜɚɟɬɫɹ – ɜɵɪɨɜɧɹɬɶ ɩɨ ɥɟɜɨɦɭ ɤɪɚɸ.
Ɉɛɳɢɟ ɡɚɦɟɱɚɧɢɹ ɤ ɬɟɦɟ. Ɍɨ, ɱɟɦ ɦɵ ɡɚɧɢɦɚɥɢɫɶ ɱɭɬɶ ɪɚɧɶɲɟ, – ɫɩɢɫɤɢ ɢɡ ɞɟɫɹɬɢ ɫɩɢɫɤɨɜ, ɜ ɤɚɠɞɨɦ ɢɡ ɤɨɬɨɪɵɯ ɩɨ ɩɹɬɶ ɷɥɟɦɟɧɬɨɜ, ɜ ɦɚɬɟɦɚɬɢɤɟ ɧɚɡɵɜɚɟɬɫɹ ɦɚɬɪɢɰɚ, ɚ ɜ ɬɪɚɞɢɰɢɨɧɧɵɯ ɹɡɵɤɚɯ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ – ɞɜɭɦɟɪɧɵɣ ɦɚɫɫɢɜ. Ɋɚɡɭɦɟɟɬɫɹ, ɞɜɭɯɦɟɪɧɨɫɬɶɸ ɞɟɥɨ ɧɟ ɨɝɪɚɧɢɱɢɜɚɟɬɫɹ, ɦɚɫɫɢɜɵ ɛɵɜɚɸɬ ɢ ɬɪɟɯɦɟɪɧɵɟ, ɢ ɛɨɥɶɲɟɣ ɪɚɡɦɟɪɧɨɫɬɢ. ɉɪɢɦɟɧɟɧɢɟ ɢɯ ɧɚɫɬɨɥɶɤɨ ɱɚɫɬɨ ɢ ɦɚɫɫɨɜɨ, ɱɬɨ ɤ ɉɢɬɨɧɭ ɩɪɢɥɚɝɚɟɬɫɹ ɫɩɟɰɢɚɥɶɧɵɣ ɦɨɞɭɥɶ ɞɥɹ ɪɚɛɨɬɵ ɫ ɦɚɬɪɢɰɚɦɢ, ɢɡɭɱɟɧɢɟ ɤɨɬɨɪɨɝɨ, ɪɚɡɭɦɟɟɬɫɹ, ɜɵɯɨɞɢɬ ɡɚ ɩɪɟɞɟɥɵ ɷɬɨɣ ɤɧɢɝɢ. ȿɫɥɢ ɜɚɦ ɷɬɨ ɢɧɬɟɪɟɫɧɨ, ɦɨɞɭɥɶ ɞɥɹ ɪɚɛɨɬɵ ɫ ɦɚɬɪɢɰɚɦɢ ɧɚɡɵɜɚɟɬɫɹ
NumPy.
ȼ ɡɚɜɟɪɲɟɧɢɟ ɞɜɟ ɡɚɞɚɱɢ ɞɥɹ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨɝɨ ɪɟɲɟɧɢɹ. ɉɟɪɜɚɹ ɧɟ ɨɱɟɧɶ ɫɥɨɠɧɚɹ – ɩɨɜɟɪɧɭɬɶ ɤɜɚɞɪɚɬɧɭɸ ɦɚɬɪɢɰɭ ɧɚɛɨɤ. Ȼɵɥɨ:
1 2 3 4 5 6 7 8 9
ɫɬɚɥɨ:
7 4 1 8 5 2 9 6 3
ȼɫɺ ɪɟɚɥɢɡɭɟɬɫɹ ɨɞɧɢɦ ɰɢɤɥɨɦ, ɬɨɱɧɟɟ ɞɜɭɦɹ ɜɥɨɠɟɧɧɵɦɢ. ȼɬɨɪɚɹ ɡɚɞɚɱɚ ɞɟɣɫɬɜɢɬɟɥɶɧɨ ɫɥɨɠɧɚɹ. Ɂɚɩɨɥɧɢɬɶ ɤɜɚɞɪɚɬɧɭɸ ɦɚɬɪɢɰɭ ɡɦɟɣɤɨɣ, ɧɚɱɢɧɚɹ ɫ ɥɟɜɨɝɨ ɧɢɠɧɟɝɨ ɭɝɥɚ. Ⱦɥɹ ɫɩɢɫɤɚ ɪɚɡɦɟɪɧɨɫɬɶɸ 5x5 ɞɨɥɠɧɨ ɩɨɥɭɱɢɬɶɫɹ:
11 19 20 24 25 10 12 18 21 23 04 09 13 17 22 03 05 08 14 16 01 02 06 07 15
115
ɋɞɟɥɚɣɬɟ ɷɬɨ! ȼɵ ɫɦɨɠɟɬɟ.
ɋɪɟɡɵ.
ȼɫɹɤɢɟ ɫɬɪɚɧɧɨɫɬɢ ɢ ɷɤɡɨɬɢɱɧɨɫɬɢ
Ɂɚɭɪɹɞɧɵɣ ɫɤɭɱɧɵɣ ɫɩɢɫɨɤ ɫ ɷɥɟɦɟɧɬɚɦɢ ɩɨ ɩɨɪɹɞɤɭ ɢ ɧɨɜɨɟ ɨɛɪɚɳɟɧɢɟ ɤ ɧɟɦɭ:
a = [100,101,102,103,104] print a[1:3]
[101, 102]
ɉɨ-ɪɭɫɫɤɢ ɷɬɨ ɨɛɵɱɧɨ ɧɚɡɵɜɚɟɬɫɹ ɫɪɟɡ. ȼ ɨɪɢɝɢɧɚɥɟ – slice. ȼ ɫɤɨɛɤɚɯ ɞɜɚ ɢɧɞɟɤɫɚ, ɫɨ ɫɦɵɫɥɨɦ, ɨɱɟɧɶ ɩɨɯɨɠɢɦ ɧɚ ɩɚɪɚɦɟɬɪɵ ɮɭɧɤɰɢɢ
xrange.
ɂɧɞɟɤɫɵ, ɪɚɡɭɦɟɟɬɫɹ, ɨɬɫɱɢɬɵɜɚɸɬɫɹ ɨɬ ɧɭɥɹ. Ɇɵ ɜɵɛɢɪɚɟɦ ɷɥɟɦɟɧɬɵ, ɧɚɱɢɧɚɹ ɫ ɩɟɪɜɨɝɨ ɢɧɞɟɤɫɚ, ɜɤɥɸɱɚɹ ɟɝɨ. Ɇɵ ɨɫɬɚɧɚɜɥɢɜɚɟɦɫɹ ɩɟɪɟɞ ɜɬɨɪɵɦ ɢɧɞɟɤɫɨɦ, ɧɟ ɜɤɥɸɱɚɹ ɟɝɨ. ɋɪɟɡ – ɷɬɨ ɬɨɠɟ ɫɩɢɫɨɤ, ɬɨɥɶɤɨ ɦɚɥɟɧɶɤɢɣ ɢ ɫ ɧɢɦ ɦɨɠɧɨ ɞɟɥɚɬɶ ɜɫɺ ɬɨ ɠɟ, ɱɬɨ ɫɨ ɫɩɢɫɤɨɦ ɛɨɥɶɲɢɦ.
Ɇɨɠɧɨ ɩɪɢɫɜɨɢɬɶ ɫɪɟɡ ɞɪɭɝɨɣ ɩɟɪɟɦɟɧɧɨɣ ɢɥɢ ɭɞɚɥɢɬɶ:
b = a[0:4] print b del b[1:3] print b
[100, 101, 102, 103] [100, 103]
ɑɬɨ ɢɧɬɟɪɟɫɧɟɟ, ɦɨɠɧɨ ɩɪɢɫɜɨɢɬɶ ɫɪɟɡɭ ɰɟɥɵɣ ɫɩɢɫɨɤ, ɩɪɢɱɺɦ ɟɝɨ ɞɥɢɧɚ ɧɟ ɨɛɹɡɚɧɚ ɫɨɜɩɚɞɚɬɶ ɫ ɞɥɢɧɨɣ ɫɪɟɡɚ. ȼɨɬ ɬɪɢ ɜɚɪɢɚɧɬɚ: ɫɩɢɫɨɤ ɬɨɣ ɠɟ ɞɥɢɧɵ ɢ ɷɥɟɦɟɧɬɵ ɩɪɨɫɬɨ ɡɚɦɟɧɹɸɬɫɹ; ɫɩɢɫɨɤ ɞɥɢɧɧɟɟ ɫɪɟɡɚ ɢ ɢɫɯɨɞɧɵɣ ɫɩɢɫɨɤ ɪɚɫɬɹɝɢɜɚɟɬɫɹ; ɫɩɢɫɨɤ ɩɭɫɬɨɣ ɢ ɨɩɟɪɚɰɢɹ ɷɤɜɢɜɚɥɟɧɬɧɚ ɭɞɚɥɟɧɢɸ ɷɥɟɦɟɧɬɨɜ. Ʉɨɞ ɹ ɩɨɞɫɨɤɪɚɬɢɥ – ɩɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɩɨɫɥɟ ɤɚɠɞɨɣ ɨɩɟɪɚɰɢɢ ɢɫɯɨɞɧɵɣ ɫɩɢɫɨɤ ɜɨɫɫɬɚɧɚɜɥɢɜɚɟɬɫɹ.
a = [100,101,102,103,104]
a[1:3] = [1101,1102] a[1:3] = [11,12,12.5,12.75] a[1:3] = []
116
[100, 101, 102, 103, 104]
[100, 1101, 1102, 103, 104] [100, 11, 12, 12.5, 12.75, 103, 104] [100, 103, 104]
Ɇɨɠɧɨ ɡɚɩɢɫɚɬɶ ɢ ɛɨɥɟɟ ɷɤɡɨɬɢɱɟɫɤɢɟ ɫɪɟɡɵ, ɢɫɯɨɞɧɵɣ ɫɩɢɫɨɤ ɬɨɬ ɠɟ:
a = [100,101,102,103,104]
print a print a[2:] print a[:2]
[100, 101, 102, 103, 104] [102, 103, 104] [100, 101]
ɇɟɦɧɨɝɨ ɩɨɞɭɦɚɜ, ɧɟɫɥɨɠɧɨ ɞɨɝɚɞɚɬɶɫɹ – ɟɫɥɢ ɩɨɫɥɟ ɞɜɨɟɬɨɱɢɹ ɧɢɱɟɝɨ ɧɟɬ, ɛɟɪɺɬɫɹ ɫɩɢɫɨɤ ɞɨ ɫɚɦɨɝɨ ɟɝɨ ɤɨɧɰɚ. ȿɫɥɢ ɞɨ ɞɜɨɟɬɨɱɢɹ ɧɢɱɟɝɨ ɧɟɬ, ɫɩɢɫɨɤ ɛɟɪɺɬɫɹ ɨɬ ɧɚɱɚɥɚ, ɚ ɩɨɫɥɟɞɧɢɣ ɷɥɟɦɟɧɬ ɨɩɪɟɞɟɥɹɟɬɫɹ ɤɚɤ ɨɛɵɱɧɨ. Ɉɬɫɸɞɚ ɢɦɟɟɦ ɩɪɨɫɬɨɣ ɫɩɨɫɨɛ ɭɞɚɥɢɬɶ ɜɫɟ ɷɥɟɦɟɧɬɵ ɫɩɢɫɤɚ, ɧɚɱɢɧɚɹ – ɢ ɜɤɥɸɱɚɹ – ɫ ɭɤɚɡɚɧɧɨɝɨ ɢ ɞɨ ɤɨɧɰɚ:
del a[2:] # ɛɭɞɭɬ ɭɞɚɥɟɧɵ ɜɫɟ ɷɥɟɦɟɧɬɵ ɫ ɮɢɡɢɱɟɫɤɢ ɬɪɟɬɶɟɝɨ ɢ ɞɨ ɤɨɧɰɚ
Ⱥ ɬɟɩɟɪɶ ɥɨɝɢɱɧɨɟ ɡɚɜɟɪɲɟɧɢɟ:
print a[:]
[100, 101, 102, 103, 104]
ȿɫɥɢ ɜɵ ɫɱɢɬɚɟɬɟ, ɱɬɨ ɷɬɨ ɛɟɫɫɦɵɫɥɟɧɧɨ ɢ ɛɟɫɩɨɥɟɡɧɨ, ɬɨ ɜɵ ɧɟ ɩɪɚɜɵ. ɉɨɦɧɢɬɟ, ɦɵ ɩɵɬɚɥɢɫɶ ɩɪɢɫɜɨɢɬɶ ɜɟɫɶ ɫɩɢɫɨɤ ɰɟɥɢɤɨɦ ɫɚɦɵɦ ɩɪɨɫɬɵɦ ɢ ɨɱɟɜɢɞɧɵɦ ɫɩɨɫɨɛɨɦ
b = a? ȼ ɪɟɡɭɥɶɬɚɬɟ ɩɟɪɟɦɟɧɧɚɹ A ɢ ɩɟɪɟɦɟɧɧɚɹ B
ɫɬɚɥɢ ɭɤɚɡɵɜɚɬɶ ɧɚ ɨɞɢɧ ɢ ɬɨɬ ɠɟ ɫɩɢɫɨɤ, ɱɬɨ ɧɟ ɜɯɨɞɢɥɨ ɜ ɧɚɲɢ ɩɥɚɧɵ. Ɍɟɩɟɪɶ ɷɬɨ ɦɨɠɧɨ ɡɚɩɢɫɚɬɶ ɜɨɬ ɬɚɤ ɢ ɬɭɬ ɠɟ ɩɪɨɜɟɪɢɬɶ:
a = [100,101,102,103,104]
b = a[:] b[0] = -1 print a, b
[100, 101, 102, 103, 104] [-1, 101, 102, 103, 104]
117
ɋɩɢɫɨɤ ɩɨ ɢɦɟɧɢ
B ɬɟɩɟɪɶ ɫɭɳɟɫɬɜɭɟɬ ɧɟɡɚɜɢɫɢɦɨ ɨɬ ɫɩɢɫɤɚ ɩɨ ɢɦɟɧɢ A.
Ɍɟɩɟɪɶ ɜɨɩɪɨɫ ɫ ɩɨɞɜɨɯɨɦ. ɑɬɨ ɜɵɜɟɞɟɬ ɜɨɬ ɬɚɤɨɣ ɤɨɞ?
b = 123.45 c = [1,2,3, b] b = 3.14 print c
Ɍɨ, ɱɬɨ ɫɪɚɡɭ ɤɚɠɟɬɫɹ ɨɱɟɜɢɞɧɵɦ, – ɩɟɪɟɦɟɧɧɚɹ ɢ ɦɵ ɞɨɛɚɜɢɥɢ ɜ ɫɩɢɫɨɤ ɢɦɟɧɧɨ ɟɺ? Ɍɨɝɞɚ
[1, 2, 3, 123.45]? ɇɨ ɜɟɞɶ B ɷɬɨ
[1, 2, 3, 3.14].
ɉɪɚɜɢɥɶɧɵɣ ɨɬɜɟɬ ɩɟɪɜɵɣ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɉɢɬɨɧ ɜɟɞɺɬ ɫɟɛɹ ɬɪɚɞɢɰɢɨɧɧɨ, ɨɠɢɞɚɟɦɨ ɢ ɩɪɟɞɫɤɚɡɭɟɦɨ. Ⱥ ɩɨɱɟɦɭ, ɫɨɛɫɬɜɟɧɧɨ? ɇɚɞɟɸɫɶ, ɞɨ ɤɨɧɰɚ ɤɧɢɝɢ ɟɳɺ ɧɚɣɞɺɬɫɹ ɧɟɦɧɨɝɨ ɦɟɫɬɚ ɞɥɹ ɬɟɨɪɢɢ ɢ ɹ ɨɬɤɪɨɸ ɜɚɦ ɷɬɭ ɬɚɣɧɭ – ɢɥɢ ɩɨɫɬɟɩɟɧɧɨ ɜɵ ɜɫɺ ɩɨɣɦɺɬɟ ɫɚɦɢ ɩɨ ɫɟɛɟ.
Ʉɨɪɬɟɠɢ – ɱɬɨ ɬɚɤɨɟ ɢ ɡɚɱɟɦ. Ɉɱɟɧɶ ɤɨɪɨɬɤɨ
ɗɬɨ ɨɱɟɧɶ ɤɨɪɨɬɤɢɣ ɪɚɡɞɟɥ. Ʉɨɪɬɟɠ – ɷɬɨ ɩɨ-ɪɭɫɫɤɢ. ȼ ɨɪɢɝɢɧɚɥɟ ɷɬɨ ɧɚɡɵɜɚɟɬɫɹ tupple. ɉɨ-ɪɭɫɫɤɢ ɡɜɭɱɢɬ ɝɨɪɚɡɞɨ ɥɭɱɲɟ. ɑɬɨ ɷɬɨ ɬɚɤɨɟ ɢ ɡɚɱɟɦ ɨɧɢ ɜɨɨɛɳɟ ɧɭɠɧɵ?
Ʉɨɪɬɟɠ – ɷɬɨ ɩɨɱɬɢ ɫɩɢɫɨɤ. ɋɪɚɜɧɢɬɟ:
a = [1,2,3] # ɷɬɨ ɫɩɢɫɨɤ b = (1,2,3) # ɷɬɨ ɤɨɪɬɟɠ
print a
print b print 'b[1] = ', b[1] print 'b[1:]', b[1:]
[1, 2, 3] (1, 2, 3) b[1] = 2 b[1:] (2, 3)
Ɉɞɢɧ ɜ ɨɞɢɧ ɫɩɢɫɨɤ, ɬɨɥɶɤɨ ɫɤɨɛɤɢ ɞɪɭɝɢɟ. ɂ ɞɨɫɬɭɩ ɩɨɷɥɟɦɟɧɬɧɵɣ ɟɫɬɶ, ɢ ɫɪɟɡɵ ɟɫɬɶ. Ɍɚɤ ɜ ɱɺɦ ɪɚɡɧɢɰɚ? ɉɪɢɧɰɢɩɢɚɥɶɧɚɹ ɪɚɡɧɢɰɚ ɜ ɬɨɦ, ɱɬɨ ɤɨɪɬɟɠ ɧɟɢɡɦɟɧɹɟɦ. Ɂɚɦɟɧɢɬɶ ɰɟɥɢɤɨɦ ɟɝɨ ɦɨɠɧɨ, ɩɨɬɨɦɭ ɱɬɨ ɫ ɬɨɱɤɢ ɡɪɟɧɢɹ ɉɢɬɨɧɚ ɷɬɨ ɛɭɞɟɬ ɞɪɭɝɨɣ ɤɨɪɬɟɠ. Ɉɬɪɟɞɚɤɬɢɪɨɜɚɬɶ – ɧɟɬ, ɧɟɥɶɡɹ. Ɉɛ ɧɟɢɡɦɟɧɹɟɦɵɯ ɨɛɴɟɤɬɚɯ ɩɨɞɪɨɛɧɟɟ ɛɭɞɟɬ ɜ ɝɥɚɜɟ ɨ ɫɬɪɨɤɚɯ.
118
ȿɳɺ ɨɞɧɚ ɨɫɨɛɟɧɧɨɫɬɶ ɤɨɪɬɟɠɚ. ȼ ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɜɵɪɚɠɟɧɢɹɯ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɸɬɫɹ ɫɤɨɛɤɢ, ɩɪɢɱɺɦ ɛɟɡ ɥɢɲɧɢɯ ɨɝɪɚɧɢɱɟɧɢɣ – ɬɨ ɟɫɬɶ ɟɫɥɢ ɦɨɠɧɨ ɡɚɤɥɸɱɢɬɶ ɱɬɨ-ɬɨ ɜ ɫɤɨɛɤɢ, ɬɨ ɩɨɱɟɦɭ ɧɟɬ? ɇɚɩɪɢɦɟɪ, ɦɨɠɧɨ ɬɚɤ:
)7()5()3()753(
. ɋɦɵɫɥɚ ɨɫɨɛɨɝɨ ɜ ɷɬɨɦ ɧɟɬ, ɧɨ ɧɢɤɬɨ ɢ ɧɟ
ɡɚɩɪɟɳɚɟɬ. Ⱥ ɤɚɤ ɛɭɞɟɬ ɜɵɝɥɹɞɟɬɶ ɤɨɪɬɟɠ ɢɡ ɨɞɧɨɝɨ ɰɟɥɨɝɨ ɷɥɟɦɟɧɬɚ? ɉɪɚɜɢɥɶɧɨ, ɜɨɬ ɬɚɤ: (7). Ⱥ ɤɚɤ ɨɬɥɢɱɢɬɶ, ɝɞɟ ɤɨɪɬɟɠ, ɚ ɝɞɟ ɜɵɪɚɠɟɧɢɟ? Ⱥ ɤɨɪɬɟɠ ɢɡ ɨɞɧɨɝɨ ɷɥɟɦɟɧɬɚ, ɧɟ ɜɚɠɧɨ ɤɚɤɨɝɨ, ɨɛɹɡɚɬɟɥɶɧɨ ɡɚɩɢɫɵɜɚɟɬɫɹ ɬɚɤɢɦ ɨɛɪɚɡɨɦ: (7,)
ɇɚɩɪɚɲɢɜɚɟɬɫɹ ɨɱɟɜɢɞɧɵɣ ɜɨɩɪɨɫ – ɚ ɡɚɱɟɦ ɷɬɨ ɜɨɨɛɳɟ ɧɭɠɧɨ? ɇɢɤɬɨ ɧɟ ɡɧɚɟɬ, ɧɨ ɜɫɟ ɞɟɥɚɸɬ ɜɢɞ. ɋɚɦɨɟ ɱɚɫɬɨɟ ɨɛɴɹɫɧɟɧɢɟ – ɞɨɫɬɨɢɧɫɬɜɨ ɤɨɪɬɟɠɟɣ ɤɚɤ ɪɚɡ ɜ ɬɨɦ ɢ ɡɚɤɥɸɱɚɟɬɫɹ, ɱɬɨ ɢɯ ɧɟɥɶɡɹ ɢɡɦɟɧɢɬɶ. ɗɬɨ ɝɚɪɚɧɬɢɹ ɫɨɯɪɚɧɟɧɢɹ ɢɯ ɰɟɥɨɫɬɧɨɫɬɢ. Ʉɪɨɦɟ ɬɨɝɨ, ɫ ɤɨɪɬɟɠɚɦɢ ɜɵ ɜɫɬɪɟɬɢɬɟɫɶ ɩɪɢ ɱɬɟɧɢɢ ɞɚɧɧɵɯ ɢɡ ɛɢɧɚɪɧɵɯ ɮɚɣɥɨɜ.
ȿɳɺ ɪɚɡ ɤɜɚɞɪɚɬɧɨɟ ɭɪɚɜɧɟɧɢɟ
ȿɫɥɢ ɩɨɦɧɢɬɟ, ɫ ɤɜɚɞɪɚɬɧɵɦ ɭɪɚɜɧɟɧɢɟɦ ɭ ɧɚɫ ɛɵɥɢ ɦɟɥɤɢɟ ɩɪɨɛɥɟɦɵ – ɢɥɢ ɭ ɤɜɚɞɪɚɬɧɨɝɨ ɭɪɚɜɧɟɧɢɹ ɛɵɥɢ ɩɪɨɛɥɟɦɵ ɫ ɧɚɲɢɦ ɧɟɞɨɫɬɚɬɨɱɧɵɦ ɨɩɵɬɨɦ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ. ɇɟɩɪɢɹɬɧɨɫɬɶ ɡɚɤɥɸɱɚɥɚɫɶ ɜ ɬɨɦ, ɱɬɨ ɤɨɪɧɟɣ ɦɨɠɟɬ ɛɵɬɶ ɢɥɢ ɞɜɚ, ɢɥɢ ɨɞɢɧ, ɢɥɢ ɧɢ ɨɞɧɨɝɨ. ȼ ɮɢɧɚɥɟ ɩɪɨɝɪɚɦɦɵ ɤɨɪɧɢ ɜɵɜɨɞɢɥɢɫɶ ɧɚ ɷɤɪɚɧ, ɢ ɞɥɹ ɬɨɝɨ, ɱɬɨɛɵ ɫ ɜɵɜɨɞɨɦ ɧɟ ɫɥɭɱɢɥɨɫɶ ɱɟɝɨ ɧɟɯɨɪɨɲɟɝɨ, ɩɪɢɯɨɞɢɥɨɫɶ ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶ ɨɛɟ ɩɟɪɟɦɟɧɧɵɟ. ɉɟɪɟɱɢɬɚɣɬɟ, ɟɫɥɢ ɡɚɛɵɥɢ. Ɍɟɩɟɪɶ ɪɟɲɢɦ ɩɪɨɛɥɟɦɭ, ɩɪɢɦɟɧɢɜ ɞɥɹ ɯɪɚɧɟɧɢɹ ɧɚɣɞɟɧɧɵɯ ɤɨɪɧɟɣ ɫɩɢɫɤɢ.
A = 0; B = 0; C = 0 roots = []
result = 'ɜɨɨɛɳɟ ɧɢɱɟɝɨ ɧɟ ɩɨɧɹɬɧɨ'
if A <> 0: # ɤɜɚɞɪɚɬɧɨɟ ɭɪɚɜɧɟɧɢɟ, ɞɢɫɤɪɢɦɢɧɚɧɬ ɜɵɱɢɫɥɹɟɦ dis = B**2 - 4*A*C;
if dis > 0: x1 = (-B+dis**0.5)/(2*A); x2 = (-B-dis**0.5)/(2*A); result = 'ɞɜɚ ɤɨɪɧɹ' roots.append(x1) roots.append(x2) elif dis == 0: x1 = (-B)/(2*A); x2 = x1 result = 'ɨɞɢɧ ɤɨɪɟɧɶ'
119
roots.append(x1) else: result = 'ɤɨɪɧɟɣ ɧɟɬ'
elif B <> 0: # ɥɢɧɟɣɧɨɟ ɭɪɚɜɧɟɧɢɺ x1 = -C/B result = 'ɨɞɢɧ ɤɨɪɟɧɶ' roots.append(x1)
else: # ɨɫɨɛɵɣ ɫɥɭɱɚɣ if C == 0: result = 'ɬɨɠɞɟɫɬɜɨ' else: result = 'ɤɨɪɧɟɣ ɧɟɬ'
print 'a = ', A, 'b = ', B, 'c = ', C
print result for i in xrange(0,len(roots)): print roots[i]
Ʌɢɱɧɨ ɦɧɟ ɩɨɤɚɡɚɥɨɫɶ ɧɟɦɧɨɝɨ ɧɟɭɞɨɛɧɨɣ ɧɟɜɨɡɦɨɠɧɨɫɬɶ ɞɨɛɚɜɢɬɶ ɜ ɫɩɢɫɨɤ ɨɛɚ ɤɨɪɧɹ ɫɪɚɡɭ. Ƚɨɜɨɪɹ ɞɪɭɝɢɦɢ ɫɥɨɜɚɦɢ, ɧɟɥɶɡɹ ɞɨɛɚɜɢɬɶ ɩɪɨɫɬɨ ɬɚɤ ɜ ɫɩɢɫɨɤ ɧɟɫɤɨɥɶɤɨ ɷɥɟɦɟɧɬɨɜ – ɞɨɛɚɜɢɬɶ-ɬɨ ɦɨɠɧɨ, ɧɨ ɫɧɚɱɚɥɚ ɧɚɞɨ ɫɨɡɞɚɬɶ ɢɡ ɧɢɯ ɫɩɢɫɨɤ.
ɂ ɞɚ, ɷɬɨ ɧɟ ɩɨɫɥɟɞɧɢɣ ɩɨɞɯɨɞ ɤ ɪɟɲɟɧɢɸ ɡɚɞɚɱɢ. Ⱥ ɩɨɤɚ ɩɪɨɜɟɪɶɬɟ ɧɨɜɭɸ ɩɪɨɝɪɚɦɦɭ ɧɚ ɧɨɜɵɯ ɬɟɫɬɚɯ.
ȼɨɡɦɨɠɧɵɟ ɜɚɪɢɚɧɬɵ:
a <> 0
ɞɢɫɤɪɢɦɢɧɚɧɬ ɩɨɥɨɠɢɬɟɥɟɧ 3,10,3 ɞɜɚ ɤɨɪɧɹ
1
,3
3
ɞɢɫɤɪɢɦɢɧɚɧɬ ɨɬɪɢɰɚɬɟɥɟɧ 2,4,3 ɤɨɪɧɟɣ ɧɟɬ
ɞɢɫɤɪɢɦɢɧɚɧɬ ɪɚɜɟɧ ɧɭɥɸ 5, 10, 5 ɨɞɢɧ ɤɨɪɟɧɶ
12
3
a = 0, b <> 0
120
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]