Π€ΡΠ½ΠΊΡΠΈΠΈ c ΠΏΡΠΈΠΌΠ΅ΡΡ: Π€ΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ : Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π€ΡΠ½ΠΊΡΠΈΠΈ — SwiftBook
Π€ΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, ΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ «Π²ΡΠ·Π²Π°ΡΡ» Π² Π½ΡΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
Π―Π·ΡΠΊ Swift ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΉ Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ β ΠΎΡ ΠΏΡΠΎΡΡΡΡ C-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΡΡΠΈΠ»Π΅ Objective-C Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² Swift ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠΈΠΏ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π’ΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠΏΠ°ΠΌ Π² Swift, Ρ. Π΅. ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π»ΠΈΠ±ΠΎ Π΅Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²Π½ΡΡΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
ΠΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π΅Π΅ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° (ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ).
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΡΠ°Π΅ΠΌΡΡ Π·Π°Π΄Π°ΡΡ. Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π΅Π΅ Π½ΡΠΆΠ½ΠΎ «Π²ΡΠ·Π²Π°ΡΡ», ΡΠΊΠ°Π·Π°Π² ΠΈΠΌΡ ΠΈ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ), ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΠΏΠ°ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ΄ΡΠΈ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ greet(person:), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ Π΅Π΅ Π·Π°Π΄Π°ΡΡ β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π²Π΅ΠΆΠ»ΠΈΠ²ΠΎ ΠΏΠΎΠ·Π΄ΠΎΡΠΎΠ²Π°ΡΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° String ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ person, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° String, Π½ΠΎ ΡΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅:
func greet(person: String) -> String {
let greeting = "ΠΡΠΈΠ²Π΅Ρ, " + person + "!"
return greeting
}
ΠΡΡ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π° Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠΎΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ func. Π’ΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π²ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ -> (ΡΡΠΎ Π΄Π΅ΡΠΈΡ ΠΈ ΠΏΡΠ°Π²Π°Ρ ΡΠ³Π»ΠΎΠ²Π°Ρ ΡΠΊΠΎΠ±ΠΊΠ°).
ΠΠ· ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π½Π΅Π΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ. ΠΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π°:
print(greet(person: "Anna"))
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΡΠΈΠ²Π΅Ρ, Anna!"
print(greet(person: "Brian"))
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΡΠΈΠ²Π΅Ρ, Brian!"
Π€ΡΠ½ΠΊΡΠΈΡ greet(person:) Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° String, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ person, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΎΡ ΡΠ°ΠΊ — greet(person: «Anna»). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° String, Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ greet(person:) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π²Π΅ΡΠ½ΡΡ Π² Π²ΡΠ·ΠΎΠ² Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ print(_:separator:terminator:), ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β (ΡΠΌ. Π²ΡΡΠ΅).
Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ greet(person:) Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΠΈΠΏΠ° String ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ greeting, ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅-ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅. ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΠΎΡΠΊΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° return. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° return greeting ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ greeting.
Π€ΡΠ½ΠΊΡΠΈΡ greet(person:) ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·Π²Π°ΡΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ «Anna» ΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌΒ «Brian». Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅.
Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΊΠΎΠ΄ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π΅Π³ΠΎ Π²ΠΎΠ·Π²ΡΠ°Ρ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ:
func greetAgain(person: String) -> String {
return "Hello again, " + person + "!"
}
print(greetAgain(person: "Anna"))
// ΠΡΠ²Π΅Π΄Π΅Ρ "Hello again, Anna!"
Π ΡΠ·ΡΠΊΠ΅ Swift ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΎ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π»ΡΠ±ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β ΠΎΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ , Ρ ΠΎΠ΄Π½ΠΈΠΌ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ , ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° String:
func sayHelloWorld() -> String {
return "hello, world"
}
print(sayHelloWorld())
// ΠΡΠ²Π΅Π΄Π΅Ρ "hello, world"
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΡΡΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
Π£ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: ΠΈΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Π±ΡΠ»Π΅Π²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π»ΠΈ Π΅Π³ΠΎ ΡΠΆΠ΅, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°:
func greet(person: String, alreadyGreeted: Bool) -> String {
if alreadyGreeted {
return greetAgain(person: person)
} else {
return greet(person: person)
}
}
print(greet(person: "Tim", alreadyGreeted: true))
// ΠΡΠ²Π΅Π΄Π΅Ρ "Hello again, Tim!"
ΠΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ greet(person:alreadyGreeted:), ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° String ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ ΡΡΠ»ΡΠΊΠΎΠΌ person ΠΈ Π±ΡΠ»Π΅Π²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ»ΡΠΊΠΎΠΌ alreadyGreeted, Π²Π·ΡΡΠΎΠ΅ Π² ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ greet(person:), ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. Π₯ΠΎΡΡ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±Π΅ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ greet, ΡΡΠ½ΠΊΡΠΈΡ greet(person:alreadyGreeted:) ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π°Β greet(person:) ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½.
Π€ΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠΎΡ Π΄ΡΡΠ³Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ greet(person:), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° String, Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ:
func greet(person: String) {
print("ΠΡΠΈΠ²Π΅Ρ, \(person)!")
}
greet(person: "Dave")
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΡΠΈΠ²Π΅Ρ, Dave!"
Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π² Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ°Ρ ΡΡΡΠ΅Π»ΠΊΠ° (->) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π‘ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠ½ΠΊΡΠΈΡ greet(person:) Π²ΡΠ΅ ΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ ΠΎΡΡ ΠΎΠ½ΠΎ Π½ΠΈΠ³Π΄Π΅ ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ. Π€ΡΠ½ΠΊΡΠΈΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π·Π°Π΄Π°Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Void. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΆ, Ρ. Π΅. ΠΊΠΎΡΡΠ΅ΠΆ Ρ Π½ΡΠ»Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ().
ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΎ:
func printAndCount(string: String) -> Int {
print(string)
return string.count
}
func printWithoutCounting(string: String) {
let _ = printAndCount(string: string)
}
printAndCount(string: "hello, world")
// ΠΡΠ²Π΅Π΄Π΅Ρ "hello, world" ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 12
printWithoutCounting(string: "hello, world")
// ΠΡΠ²Π΅Π΄Π΅Ρ "hello, world", Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, printAndCount(string:) Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΡΠ΅Π»ΠΎΠ³ΠΎ (Int). ΠΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, printWithoutCounting(string:) Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΡ, Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π΅Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π²ΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π΅Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π₯ΠΎΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΅ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΡΠΎ, ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΎ Π² Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΊΠ°Π·Π°Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠ½ΡΠΉ ΡΠΈΠΏ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ minMax(array:), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΈΠΏΠ° Int:
func minMax(array: [Int]) -> (min: Int, max: Int) {
var currentMin = array[0]
var currentMax = array[0]
for value in array[1..<array.count] {
if value < currentMin {
currentMin = value
} else if value > currentMax {
currentMax = value
}
}
return (currentMin, currentMax)
}
Π€ΡΠ½ΠΊΡΠΈΡ minMax(array:) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· Π΄Π²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° Int. ΠΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ ΠΈΠΌΠ΅Π½Π° min ΠΈ max, ΡΡΠΎΠ±Ρ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ minMax(array:) Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π²ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ currentMin ΠΈ currentMax Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ°ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΈΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ currentMin ΠΈ currentMax ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠ°ΠΌΠΎΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΈ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠ° ΡΠΈΠΏΠ° Int.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΡΡΠ΅ΠΆΠ° ΡΠΊΠ°Π·Π°Π½Ρ Π² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΌ ΡΠΈΠΏΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ ΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
let bounds = minMax(array: [8, -6, 2, 109, 3, 71])
print("min is \(bounds.min) and max is \(bounds.max)")
// ΠΡΠ²Π΅Π΄Π΅Ρ "min is -6 and max is 109"
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠΎΡΡΠ΅ΠΆΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π°Π²Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΆΠ° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΡΡΠ΅ΠΆ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ «ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅», ΡΠΎ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ, Ρ. Π΅. ΠΊΠΎΡΡΠ΅ΠΆ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π²Π½ΡΡΡΡΡ nil. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ:(Int, Int)? ΠΈΠ»ΠΈ (String, Int, Bool)?.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΠΎΡΡΠ΅ΠΆ-ΠΎΠΏΡΠΈΠΎΠ½Π°Π» Π²ΠΈΠ΄Π° (Int, Int)? — ΡΡΠΎ Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Ρ: (Int?, Int?). ΠΠΎΡΡΠ΅ΠΆ-ΠΎΠΏΡΠΈΠΎΠ½Π°Π» ΡΠ°ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
Π€ΡΠ½ΠΊΡΠΈΡ minMax(array:) Π²ΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· Π΄Π²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° Int, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ array ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ², Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ count ΡΠ°Π²Π½ΠΎ 0, ΡΡΠ½ΠΊΡΠΈΡ minMax Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π²ΡΡΠ΅, Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ array[0].
ΠΠ»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ minMax(array:) ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΠΊΠΎΡΡΠ΅ΠΆ-ΠΎΠΏΡΠΈΠΎΠ½Π°Π», ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ nil:
func minMax(array: [Int]) -> (min: Int, max: Int)? {
if array.isEmpty { return nil }
var currentMin = array[0]
var currentMax = array[0]
for value in array[1..<array.count] {
if value < currentMin {
currentMin = value
} else if value > currentMax {
currentMax = value
}
}
return (currentMin, currentMax)
}
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΈ ΡΡΠ° Π²Π΅ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ minMax(array:) ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΆΠ° ΠΈΠ»ΠΈ nil, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π°:
if let bounds = minMax(array: [8, -6, 2, 109, 3, 71]) {
print("min is \(bounds.min) and max is \(bounds.max)")
}
// ΠΡΠ²Π΅Π΄Π΅Ρ "min is -6 and max is 109"
Π€ΡΠ½ΠΊΡΠΈΠΈ Ρ Π½Π΅ΡΠ²Π½ΡΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ
ΠΡΠ»ΠΈ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ΡΠ²Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
func greeting(for person: String) -> String {
"ΠΡΠΈΠ²Π΅Ρ, " + person + "!"
}
print(greeting(for: "ΠΠ΅ΠΉΠ²"))
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΡΠΈΠ²Π΅Ρ, ΠΠ΅ΠΉΠ²!"
func anotherGreeting(for person: String) -> String {
return "ΠΡΠΈΠ²Π΅Ρ, " + person + "!"
}
print(anotherGreeting(for: "ΠΠ΅ΠΉΠ²"))
// ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΡΠΈΠ²Π΅Ρ, ΠΠ΅ΠΉΠ²!"
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ greeting(for:) Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ anotherGreeting(for:) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ return. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»ΠΈΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΡΡΠΈΡΡ ΡΠ»ΠΎΠ²ΠΎ return.
ΠΠ°ΠΊ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² Π³Π»Π°Π²Π΅ «Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π³Π΅ΡΡΠ΅ΡΠ°», Π³Π΅ΡΡΠ΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΎΠΏΡΡΠ΅Π½Π½ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ return.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Ρ Π½Π΅ΡΠ²Π½ΡΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ fatalError(«Oh no!») ΠΈΠ»ΠΈ print(13) ΠΊΠ°ΠΊ Π½Π΅ΡΠ²Π½ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ»ΡΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΈΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. Π―ΡΠ»ΡΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Β Ρ ΡΡΠ»ΡΠΊΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΡΡΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ. ΠΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΒ ΠΈΠΌΠ΅Π½Π°Β ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²Β Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ»ΡΠΊΠ°Β Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
func someFunction(firstParameterName: Int, secondParameterName: Int) {
// ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ firstParameterName ΠΈ secondParameterName
// ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
}
someFunction(firstParameterName: 1, secondParameterName: 2)
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎΒ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎΒ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠ»ΡΠΊΒ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΡΠΊΠΈΒ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ.
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠ»ΡΠΊΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΡ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΠ»ΡΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Β ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π»:
func someFunction(argumentLabel parameterName: Int) {
// Π ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ parameterName ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°
// Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
}
ΠΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΒ ΡΡΠ½ΠΊΡΠΈΠΈ greet(person:), ΠΊΠΎΡΠΎΡΠ°ΡΒ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄Π½ΠΎΠΉ Π³ΠΎΡΠΎΠ΄, Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅:
func greet(person: String, from hometown: String) -> String {
return "Hello \(person)! Glad you could visit from \(hometown)."
}
print(greet(person: "Bill", from: "Cupertino"))
// ΠΡΠ²ΠΎΠ΄ΠΈΡ "Hello Bill! Glad you could visit from Cupertino."
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ»ΡΠΊΠΎΠ² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅ΡΒ ΡΡΠ½ΠΊΡΠΈΠΈΒ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π² Π±ΠΎΠ»Π΅Π΅Β Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠ°Π½Π΅ΡΠ΅, Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΡΠΌΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠΎΠΏΡΡΠΊ ΡΡΠ»ΡΠΊΠΎΠ² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»ΡΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ (_) Π²ΠΌΠ΅ΡΡΠΎ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΡΠ»ΡΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
func someFunction(_ firstParameterName: Int, secondParameterName: Int) {
// Π ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ firstParameterName ΠΈ secondParameterName
// ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
}
someFunction(1, secondParameterName: 2)
ΠΡΠ»ΠΈ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΅ΡΡΡ ΡΡΠ»ΡΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΡΠΊ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ· Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ.
func someFunction(parameterWithoutDefault: Int, parameterWithDefault: Int = 12) {
// ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ
// Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ parameterWithDefault Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΡΡΡΡΡ 12 Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
}
someFunction(parameterWithoutDefault: 3, parameterWithDefault: 6) // parameterWithDefault ΡΠ°Π²Π΅Π½ 6
someFunction(parameterWithoutDefault: 4) // parameterWithDefault ΡΠ°Π²Π΅Π½ 12
Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉΒ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈΒ Π΄ΠΎΒ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΒ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅Β Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡΒ ΡΡΠ½ΠΊΡΠΈΠΈ —Β ΠΈΡ Π·Π°ΠΏΠΈΡΡΒ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈΒ ΡΠΆΠ΅ Π²ΡΠ·Π²Π°Π½Π½ΠΎΠΉΒ ΡΠ°Π½Π΅Π΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΎΠΏΡΡΠ΅Π½Ρ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎΒ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΒ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΠ°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΈ ΡΠΎΡΠΊΠΈ (…) ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΠΈΠΏΠ°.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ numbers ΡΠΈΠΏΠ° Double… Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π°-ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ numbers ΡΠΈΠΏΠ° [Double].
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ (ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΡΠ΅Π΄Π½Π΅Π΅) ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΠ΅Π», ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ:
func arithmeticMean(_ numbers: Double...) -> Double {
var total: Double = 0
for number in numbers {
total += number
}
return total / Double(numbers.count)
}
arithmeticMean(1, 2, 3, 4, 5)
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 3.0, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄Π½ΠΈΠΌ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠΈΡ
ΠΏΡΡΠΈ ΡΠΈΡΠ΅Π»
arithmeticMean(3, 8.25, 18.75)
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 10.0, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄Π½ΠΈΠΌ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠΈΡ
ΡΡΠ΅Ρ
ΡΠΈΡΠ΅Π»
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΡΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π―ΡΠ»ΡΠΊΒ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΌΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ — ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄ΡΡ ΠΏΠΎΡΠ»Π΅ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
Π‘ΠΊΠ²ΠΎΠ·Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡΒ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ. ΠΠΎΠΏΡΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΡΠ΅Π»Π° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°Β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈΡΡΒ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΒ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Β ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Β ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎΒ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ inout ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΏΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. Π‘ΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π½Π΅ΠΉ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.Β ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡΒ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΊΠ²ΠΎΠ·Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Β Ρ Π½ΠΈΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉΒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠΌ. Π‘ΠΊΠ²ΠΎΠ·Π½ΡΠ΅ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎΒ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΠΈΡΠ΅ΡΠ°Π»Π°Β Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ. ΠΡ ΡΡΠ°Π²ΠΈΡΠ΅Β Π°ΠΌΠΏΠ΅ΡΡΠ°Π½Π΄ (&) Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅ Π΅Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π‘ΠΊΠ²ΠΎΠ·Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π° Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠ²ΠΎΠ·Π½ΡΠΌΠΈ,Β Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ inout.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ swapTwoInts(_:_:), Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π΄Π²Π° ΡΠΊΠ²ΠΎΠ·Π½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° β a ΠΈ b:
func swapTwoInts(_ a: inout Int, _ b: inout Int) {
let temporaryA = a
a = b
b = temporaryA
}
Π€ΡΠ½ΠΊΡΠΈΡ swapTwoInts(_:_:)Β ΠΏΡΠΎΡΡΠΎ ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ b Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ a, Π°Β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β a β Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ b. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ a Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅Β temporaryA, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ b ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ temporaryA ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ b.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡΒ ΡΡΠ½ΠΊΡΠΈΡΒ swapTwoInts (_: _:) Ρ Π΄Π²ΡΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ° Int, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π° someInt ΠΈ anotherInt Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π°ΠΌΠΏΠ΅ΡΡΠ°Π½Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² swapTwoInts (_: _:) ΡΡΠ½ΠΊΡΠΈΠΈ:
var someInt = 3
var anotherInt = 107
swapTwoInts(&someInt, &anotherInt)
print("someInt is now \(someInt), and anotherInt is now \(anotherInt)")
// ΠΡΠ²Π΅Π΄Π΅Ρ "someInt is now 107, and anotherInt is now 3"
Π Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ someInt ΠΈ anotherInt ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ swapTwoInts (_: _:), Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π·Π° Π΅Π΅ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π‘ΠΊΠ²ΠΎΠ·Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ β ΡΡΠΎ Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ swapTwoInts Π½Π΅Ρ Π½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ someInt ΠΈ anotherInt Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. Π‘ΠΊΠ²ΠΎΠ·Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ β ΡΡΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ΅Π»Π° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ:
func addTwoInts(a: Int, _Β b: Int) -> Int {
return a + b
}
func multiplyTwoInts(a: Int, _Β b: Int) -> Int {
return a * b
}
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π΄Π²Π΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β addTwoInts ΠΈ multiplyTwoInts. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° Int ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Int, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ (Int, Int) -> Int. ΠΡΠ° Π·Π°ΠΏΠΈΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
«ΡΡΠ½ΠΊΡΠΈΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° Int, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Int».
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎ ΡΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
func printHelloWorld() {
print("hello, world")
}
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ () -> Void, Ρ. Π΅. «ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Void».
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ²
Π Swift Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°:
var mathFunction: (Int, Int) -> Int = addTwoInts
ΠΡΠ° Π·Π°ΠΏΠΈΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
«ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ mathFunction, ΠΈΠΌΠ΅ΡΡΡΡ ΡΠΈΠΏ «ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° Int, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Int». ΠΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ addTwoInts».
Π€ΡΠ½ΠΊΡΠΈΡ addTwoInts ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΏ, ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ mathFunction, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Swift ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ mathFunction:
print("Result: \(mathFunction(2, 3))")
// ΠΡΠ²Π΅Π΄Π΅Ρ "Result: 5"
Π’ΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° β Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ:
mathFunction = multiplyTwoInts
print("Result: \(mathFunction(2, 3))")
// ΠΡΠ²Π΅Π΄Π΅Ρ "Result: 6"
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠΏΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΏ ΡΠ²Π½ΠΎ, Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ SwiftΒ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΏΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
let anotherMathFunction = addTwoInts
// Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ anotherMathFunction Π²ΡΠ²Π΅Π΄Π΅Π½ ΡΠΈΠΏ (Int, Int) -> Int
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΊΠ°ΠΊ ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ (Int, Int) -> Int ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
func printMathResult(_ mathFunction: (Int, Int) -> Int, _ a: Int, _ b: Int) {
print("Result: \(mathFunction(a, b))")
}
printMathResult(addTwoInts, 3, 5)
// ΠΡΠ²Π΅Π΄Π΅Ρ "Result: 8"
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ printMathResult(_:_:_:), Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ mathFunction ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ (Int, Int) -> Int. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°. ΠΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ a ΠΈ b ΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠΈΠΏΡ Int. ΠΠ½ΠΈ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π²ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ printMathResult(_:_:_:) ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ addTwoInts(_:_:) ΠΈ Π΄Π²Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 3 ΠΈ 5. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ 3 ΠΈ 5, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ 8.
ΠΠ°Π΄Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ printMathResult(_:_:_:) Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΡΡΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°. ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°Π±ΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ printMathResult(_:_:_:) Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Π°.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΏΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ ΡΠΈΠΏΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ (->) Π² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π΄Π²Π΅ ΠΏΡΠΎΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β stepForward(_:) ΠΈ stepBackward(_:). Π€ΡΠ½ΠΊΡΠΈΡ stepForward(_:) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π° ΡΡΠ½ΠΊΡΠΈΡ stepBackward(_:) β ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ (Int) -> Int:
func stepForward(_ input: Int) -> Int {
return input + 1
}
func stepBackward(_ input: Int) -> Int {
return input - 1
}
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ chooseStepFunction(backward:) ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏΒ (Int) -> Int. Π€ΡΠ½ΠΊΡΠΈΡ chooseStepFunction(backward:) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ stepForward(_:) ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ stepBackward(_:) Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° backward:
func chooseStepFunction(backward: Bool) -> (Int) -> Int {
return backward ? stepBackward : stepForward
}
Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ chooseStepFunction(backward:) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π²ΠΈΠ³Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡΠ°Π²ΠΎ:
var currentValue = 3
let moveNearerToZero = chooseStepFunction(backward: currentValue > 0)
// moveNearerToZero ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ stepBackward()
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΈ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡΠΈΠ±Π°Π²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ½ΡΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ currentValue ΠΊ Π½ΡΠ»Ρ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ currentValue ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3, Ρ. Π΅. ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ currentValue > 0 Π΄Π°ΡΡ true, Π° ΡΡΠ½ΠΊΡΠΈΡ chooseStepFunction(backward:), ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ stepBackward(_:). Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ moveNearerToZero.
Π’Π°ΠΊ ΠΊΠ°ΠΊ moveNearerToZero ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π½ΡΠΆΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΠ° Π΄ΠΎ Π½ΡΠ»Ρ:
print("Counting to zero:")
// Counting to zero:
while currentValue != 0 {
print("\(currentValue)... ")
currentValue = moveNearerToZero(currentValue)
}
print("zero!")
// 3...
// 2...
// 1...
// zero!
ΠΡΠ΅ ΡΠ°Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ, Ρ. Π΅. ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. ΠΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ·Π²Π½Π΅, Π° Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠ°ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π° Π΅Π΅ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ chooseStepFunction(backward:) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ:
func chooseStepFunction(backward: Bool) -> (Int) -> Int {
func stepForward(input: Int) -> Int { return input + 1 }
func stepBackward(input: Int) -> Int { return input - 1 }
return backward ? stepBackward : stepForward
}
var currentValue = -4
let moveNearerToZero = chooseStepFunction(backward: currentValue > 0)
// moveNearerToZero ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ stepForward()
while currentValue != 0 {
print("\(currentValue)... ")
currentValue = moveNearerToZero(currentValue)
}
print("zero!")
// -4...
// -3...
// -2...
// -1...
// zero!
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+Enter.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Python | ΠΠΎΠ΄ΠΊΠ°ΠΌΠΏ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ def
ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Python. ΠΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ:
def function_name(parameters):
statement(s)
function_name
ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π·Π²Π°Π½ ΠΏΠΎΠ·ΠΆΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
parameters
Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ
Π·Π°ΠΏΡΡΡΠΌΠΈ.
statement(s)
— ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΡΠΎ Π½Π΅ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² , Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ , ΡΡΠΎ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΡΡΡΠΌ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΎΡΡΡΡΠΏΠΎΠΌ Π±Π»ΠΎΠΊ .
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅Π»ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ Hello
ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· , ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ:
def greet():
print("Hello")
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ greet()
ΡΡΠ½ΠΊΡΠΈΠΈ:
greet()
# Out: Hello
ΠΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
def greet_two(greeting):
print(greeting)
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ greet_two()
ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ:
greet_two("Howdy")
# Out: Howdy
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ:
def greet_two(greeting="Howdy"):
print(greeting)
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
greet_two()
# Out: Howdy
ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
ΡΠ·ΡΠΊΠΎΠ², Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΈ Python ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ return
ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. ΠΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΠΎΠ²!
def many_types(x):
if x < 0:
return "Hello!"
else:
return 0
print(many_types(1))
print(many_types(-1))
# Output:
0
Hello!
ΠΠΎΠΊΠ° ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ, ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Python.
Π€ΡΠ½ΠΊΡΠΈΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ None
:
def do_nothing():
pass
print(do_nothing())
# Out: None
ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ΠΏΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ pass
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ — ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ. ΠΠ½ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΠΎΠ½ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π½ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ΄.
ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ return
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ , ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ:
def give_me_five():
return 5
print(give_me_five()) # Print the returned value
# Out: 5
ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
num = give_me_five()
print(num) # Print the saved returned value
# Out: 5
ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
print(give_me_five() + 10)
# Out: 15
ΠΡΠ»ΠΈ return
Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΡΡΠ»Π° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ:
def give_me_another_five():
return 5
print('This statement will not be printed. Ever.')
print(give_me_another_five())
# Out: 5
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ return
Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡΡΠ΅ΠΆΠ°):
def give_me_two_fives():
return 5, 5 # Returns two 5
first, second = give_me_two_fives()
print(first)
# Out: 5
print(second)
# Out: 5
Π€ΡΠ½ΠΊΡΠΈΡ, Π±Π΅Π· return
Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠ²Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ None
. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Ρ return
ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ None
.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ:
def divide(dividend, divisor): # The names of the function and its arguments
# The arguments are available by name in the body of the function
print(dividend / divisor)
ΠΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠ² ΠΈΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅
divide(10, 2)
# output: 5
ΠΈΠ»ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
divide(divisor=2, dividend=10)
# output: 5
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΡΡΠ΅ΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ( Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ =
) Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΡ-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
def make(action='nothing'):
return action
ΠΡΠ·ΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΡΠ΅ΠΌΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
make("fun")
# Out: fun
make(action="sleep")
# Out: sleep
# The argument is optional so the function will use the default value if the argument is
# not passed in.
make()
# Out: nothing
ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡ ( list
, dict
, set
ΠΈ Ρ.Π΄.) , ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ , ΠΊΠΎΠ³Π΄Π° Π΄Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π°ΡΡΠΈΠ±ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ±Π°Ρ ΠΌΡΡΠ°ΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π½Π°Π²ΡΠ΅Π³Π΄Π°. Π‘ΠΌ ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ .
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΠΎ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° — ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ :
def func(value1, value2, optionalvalue=10):
return '{0} {1} {2}'.format(value1, value2, optionalvalue1)
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ, Π½ΠΎ ΡΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
print(func(1, 'a', 100))
# Out: 1 a 100
print(func('abc', 14))
# abc 14 10
ΠΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π±Π΅Π·. Π’ΠΎΠ³Π΄Π° ΡΠ΅, Ρ ΠΊΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΈΠΌΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π·Π° ΡΠ΅ΠΌΠΈ, Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ, Π½ΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ΅Ρ , Ρ ΠΊΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΈΠΌΡ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
print(func('This', optionalvalue='StackOverflow Documentation', value2='is'))
# Out: This is StackOverflow Documentation
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ , ΡΠΏΠΎΡΠΎΠ±Π½ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Ρ *
def func(*args):
# args will be a tuple containing all values that are passed in
for i in args:
print(i)
func(1, 2, 3) # Calling it with 3 arguments
# Out: 1
# 2
# 3
list_of_arg_values = [1, 2, 3]
func(*list_of_arg_values) # Calling it with list of values, * expands the list
# Out: 1
# 2
# 3
func() # Calling it without arguments
# No Output
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ args
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ func(*args=[1, 2, 3])
ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ (Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ).
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΈΡ
ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ func(*args=[1, 2, 3])
ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ TypeError
.
ΠΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ (ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Iterable
), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: func(*my_stuff)
.
ΠΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ( *args
) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ , args[0]
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ Π΄Π²ΡΠΌΡ *
ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ:
def func(**kwargs):
# kwargs will be a dictionary containing the names as keys and the values as values
for name, value in kwargs.items():
print(name, value)
func(value1=1, value2=2, value3=3) # Calling it with 3 arguments
# Out: value1 1
# value2 2
# value3 3
func() # Calling it without arguments
# No Out put
my_dict = {'foo': 1, 'bar': 2}
func(**my_dict) # Calling it with a dictionary
# Out: foo 1
# bar 2
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π±Π΅Π· ΠΈΠΌΠ΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ func(1, 2, 3)
ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ TypeError
.
kwargs
ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΠ΄Π½ΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΈΡΠΎΠ½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, args['value1']
Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° value1
. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π·Π°ΡΠ°Π½Π΅Π΅ , ΡΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ KeyError
Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π½ΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π½ΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²Π½ΡΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ / ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ. (ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ). Β Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ *arg
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. (ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ). Β Π’ΠΎΠ³Π΄Π° ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ Π΄Π°Π»ΡΡΠ΅. (ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅). Β ΠΠ°ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ **kwargs
ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ. (ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ).
# |-positional-|-optional-|---keyword-only--|-optional-|
def func(arg1, arg2=10 , *args, kwarg1, kwarg2=2, **kwargs):
pass
arg1
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°Π΄Π°Π½, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅TypeError
ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ (func(10)
) ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° (func(arg1=10)
).kwarg1
ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½, Π½ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:func(kwarg1=10)
.arg2
ΠΈkwarg2
Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ , ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρarg1
(Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ) ΠΈkwarg1
(ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ) ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ.*args
ΡΠ»ΠΎΠ²Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎarg1
ΠΈarg2
Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ*args
:func(1, 1, 1, 1)
.**kwargs
ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ². Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π»ΡΠ±ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅arg1
,arg2
,kwarg1
ΠΈΠ»ΠΈkwarg2
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:func(kwarg3=10)
.- Π Python 3, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
*
Π² ΠΏΠΎΠΊΠΎΠ΅ , ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ , ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ². ΠΠ»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°math.isclose
ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python 3.5 ΠΈ Π²ΡΡΠ΅ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌdef math.isclose (a, b, *, rel_tol=1e-09, abs_tol=0.0)
, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ , ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎ , Π½ΠΎ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΡΡΠ΅ΡΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
Python 2.x Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΡΠ»ΠΎΠ². Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ kwargs
:
def func(arg1, arg2=10, **kwargs):
try:
kwarg1 = kwargs.pop("kwarg1")
except KeyError:
raise TypeError("missing required keyword-only argument: 'kwarg1'")
kwarg2 = kwargs.pop("kwarg2", 2)
# function body ...
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ
Π£ΡΠ»ΠΎΠ²Π½ΠΎΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² args
ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΡΠ»ΠΎΠ² kwargs
ΠΏΡΠΎΡΡΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ , Π½ΠΎ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ , ΡΡΠΎΠ±Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°Π»ΠΈ , ΡΡΠΎ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌ ΠΏΠΎΡΠΎΠΌ ΡΠ°ΠΊ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ
ΠΡΠ±Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ *args
ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ **kwargs
, Π½ΠΎ Π½Π΅ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΡΡ
. Π’Π°ΠΊΠΆΠ΅ *args
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΈ **kwargs
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ. ΠΠΎΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΠΎΠΆΠ½ΠΎ Π³Π½Π΅Π·Π΄ΠΎΠ²ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ , ΡΡΠΎ ΠΊΠΎΠ΄ ΡΠΆΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ , Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅ Π²Π½ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Ρ *
ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ Π°ΡΠ³ Ρ **
ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΎΠΉ , ΠΈΠ½Π°ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΡΡΠ΅ΠΆ, Π° kwargs — ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΡΠ»ΠΎΠ²Π°ΡΡ. Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
def fn(**kwargs):
print(kwargs)
f1(**kwargs)
def f1(**kwargs):
print(len(kwargs))
fn(a=1, b=2)
# Out:
# {'a': 1, 'b': 2}
# 2
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ ΡΠΈΠΏΠΎΠΌ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ( ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ), ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠΌΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅
ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΠ· — Π·Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ , ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°, Π° Π½Π΅ (ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ) , ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ __defaults__
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π°.
def f(a, b=42, c=[]):
pass
print(f.__defaults__)
# Out: (42, [])
ΠΠ»Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΡΠΈΠΏΠΎΠ² (ΡΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΡΠΈΠ²ΠΎΡΡΠΈ ) ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° , ΡΡΠΎΠ±Ρ ΠΌΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅; ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ, ΠΎΡΡΠ°Π²Π»ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΡΡΠΈΡΠΎΠ²Π°ΡΡ, Π΄Π΅Π»Π°Ρ Π·Π²ΠΎΠ½ΠΊΠΈ Π½Π° Π΅Π³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΠ»Π΅Π½ΠΎΠ². Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
def append(elem, to=[]):
to.append(elem) # This call to append() mutates the default variable "to"
return to
append(1)
# Out: [1]
append(2) # Appends it to the internally stored list
# Out: [1, 2]
append(3, []) # Using a new created list gives the expected result
# Out: [3]
# Calling it again without argument will append to the internally stored list again
append(4)
# Out: [1, 2, 4]
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΠ΄Ρ ΠΊΠ°ΠΊ PyCharm Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ , ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΡΠΈΠΏ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ Π°ΡΡΠΈΠ±ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ , ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ , ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΊΠ°ΠΊ Π²Π°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ±ΡΠ°Ρ ΠΈΠ΄ΠΈΠΎΠΌΠ° , ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ ΡΡΠΎΠ³ΠΎ , ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΡΠΈΠΏΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ None
(Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΉ) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ , Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° , Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠ°Π²Π½ΠΎ None
.
def append(elem, to=None):
if to is None:
to = []
to.append(elem)
return to
ΠΡΠΌΠ±Π΄Π° (Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ / Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅) ΡΡΠ½ΠΊΡΠΈΠΈ
lambda
ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½Π»Π°ΠΉΠ½, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ — ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ:
def greeting():
return "Hello"
ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ:
print(greeting())
ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ:
Hello
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
greet_me = lambda: "Hello"
ΠΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ greet_me
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Hello
. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ , ΡΡΠΎ Π²Ρ Π½Π΅ ΠΏΠΈΡΠ΅ΡΠ΅ return
ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π»ΡΠΌΠ±Π΄Π°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ :
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
print(greet_me())
ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ:
Hello
lambda
— s ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΡΠΎΠΆΠ΅:
strip_and_upper_case = lambda s: s.strip().upper()
strip_and_upper_case(" Hello ")
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ:
HELLO
ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² / ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ², ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
greeting = lambda x, *args, **kwargs: print(x, args, kwargs)
greeting('hello', 'world', world='world')
ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ:
hello ('world',) {'world': 'world'}
lambda
— Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΡΠΎΡΠΊΠ΅ , Π³Π΄Π΅ ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ( ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ , Ρ sorted
, filter
ΠΈ map
).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ° ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡ ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅:
sorted( [" foo ", " bAR", "BaZ "], key=lambda s: s.strip().upper())
# Out:
# [' bAR', 'BaZ ', ' foo ']
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ:
sorted( [" foo ", " bAR", "BaZ "], key=lambda s: s.strip())
# Out:
# ['BaZ ', ' bAR', ' foo ']
ΠΡΠΈΠΌΠ΅ΡΡ Ρ map
:
sorted( map( lambda s: s.strip().upper(), [" foo ", " bAR", "BaZ "]))
# Out:
# ['BAR', 'BAZ', 'FOO']
sorted( map( lambda s: s.strip(), [" foo ", " bAR", "BaZ "]))
# Out:
# ['BaZ', 'bAR', 'foo']
ΠΡΠΈΠΌΠ΅ΡΡ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ:
my_list = [3, -4, -2, 5, 1, 7]
sorted( my_list, key=lambda x: abs(x))
# Out:
# [1, -2, 3, -4, 5, 7]
list( filter( lambda x: x>0, my_list))
# Out:
# [3, 5, 1, 7]
list( map( lambda x: abs(x), my_list))
# Out:
[3, 4, 2, 5, 1, 7]
ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Ρ / Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²) ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π²Π½ΡΡΡΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ.
def foo(msg):
print(msg)
greet = lambda x = "hello world": foo(x)
greet()
ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ:
hello world
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ lambda
ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
ΠΠΠ’Π
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ , ΡΡΠΎ PEP-8 (ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΠΈΠ΄ ΠΏΠΎ ΡΡΠΈΠ»Ρ Python) Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½Π°Π·Π½Π°ΡΠ°ΡΡ Π»ΡΠΌΠ±Π΄Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ (ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΈ Π² ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ):
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠΈΠ²ΠΎΡΡΡ
Π‘Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
- Π°ΡΠ³ΡΠΌΠ΅Π½Ρ (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ): ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ;
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ (ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ): ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ.
Π Python, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ Π·Π°Π΄Π°Π½ΠΈΡ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², Π³Π΄Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ / Π·Π°Π΄Π°Π½ΠΈΡ / ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ).
ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° (Π΅ΡΠ»ΠΈ ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ).
def foo(x): # here x is the parameter
x[0] = 9 # This mutates the list labelled by both x and y
print(x)
y = [4, 5, 6]
foo(y) # call foo with y as argument
# Out: [9, 5, 6] # list labelled by x has been mutated
print(y)
# Out: [9, 5, 6] # list labelled by y has been mutated too
ΠΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
def foo(x): # here x is the parameter, when we call foo(y) we assign y to x
x[0] = 9 # This mutates the list labelled by both x and y
x = [1, 2, 3] # x is now labeling a different list (y is unaffected)
x[2] = 8 # This mutates x's list, not y's list
y = [4, 5, 6] # y is the argument, x is the parameter
foo(y) # Pretend that we wrote "x = y", then go to line 1
y
# Out: [9, 5, 6]
Π Python, ΠΌΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΡ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ (ΡΠΎ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΡΠΏΠ°ΡΡ, ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π°) ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ.
- ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠ΅: Π¦Π΅Π»ΡΠ΅, ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΏΠΈΠΈ.
- Mutable: ΡΠΏΠΈΡΠΊΠΈ, ΡΠ»ΠΎΠ²Π°ΡΠΈ, Π½Π°Π±ΠΎΡΡ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΌΡΡΠΈΡΠΎΠ²Π°ΡΡ.
x = [3, 1, 9]
y = x
x.append(5) # Mutates the list labelled by x and y, both x and y are bound to [3, 1, 9]
x.sort() # Mutates the list labelled by x and y (in-place sorting)
x = x + [4] # Does not mutate the list (makes a copy for x only, not y)
z = x # z is x ([1, 3, 9, 4])
x += [6] # Mutates the list labelled by both x and z (uses the extend function).
x = sorted(x) # Does not mutate the list (makes a copy for x only).
x
# Out: [1, 3, 4, 5, 6, 9]
y
# Out: [1, 3, 5, 9]
z
# Out: [1, 3, 5, 9, 4, 6]
Return
ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ Π² Python ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΄Π΅ΡΡ Π²ΡΠ·ΠΎΠ² makeInc
ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Π΄Π»Ρ x
, ΡΡΡΠ»ΠΊΠ° Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ inc
. ΠΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² makeInc
ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ x
.
def makeInc(x):
def inc(y):
# x is "attached" in the definition of inc
return y + x
return inc
incOne = makeInc(1)
incFive = makeInc(5)
incOne(5) # returns 6
incFive(5) # returns 10
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΌ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ Π΅Π΅ ΡΡΠ΅Π΄Ρ, Π² ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΈΡ
def makeInc(x):
def inc(y):
# incrementing x is not allowed
x += y
return x
return inc
incOne = makeInc(1)
incOne(5) # UnboundLocalError: local variable 'x' referenced before assignment
Python 3 ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ nonlocal
Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ( https://codecamp.ru/documentation/python/263/variable-scope-and-binding/5712/nonlocal-variables#t=201608272008282346874 ) Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π·Π°ΠΊΡΡΡΠΈΡ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
def makeInc (x): def inc (y): Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ x # ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x x + = y Π²Π΅ΡΠ½ΡΡΡ x return inc incOne = makeInc (1) incOne (5) # Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 6
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅Π±Ρ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ factorial(n) = n*(n-1)*(n-2)*...*3*2*1
. ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ
def factorial(n):
#n here should be an integer
if n == 0:
return 1
else:
return n*factorial(n-1)
Π²ΡΡ ΠΎΠ΄Ρ Π·Π΄Π΅ΡΡ:
factorial(0)
#out 1
factorial(1)
#out 1
factorial(2)
#out 2
factorial(3)
#out 6
ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ , ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΠΎΡΠΎΠΉ return factorial(n-1)
, Π³Π΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅Π±Ρ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π° , ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π° — Π±Ρ ΡΡΠΎ — ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
factorial = lambda n: 1 if n == 0 else n*factorial(n-1)
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅.
ΠΡΠ΅Π΄Π΅Π» ΡΠ΅ΠΊΡΡΡΠΈΠΈ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅Π΄Π΅Π» Π³Π»ΡΠ±ΠΈΠ½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Python. ΠΠΎΠ³Π΄Π° ΠΏΡΠ΅Π΄Π΅Π» Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ RuntimeError:
def cursing(depth):
try:
cursing(depth + 1) # actually, re-cursing
except RuntimeError as RE:
print('I recursed {} times!'.format(depth))
cursing(0)
# Out: I recursed 1083 times!
ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΏΡΠ΅Π΄Π΅Π» Π³Π»ΡΠ±ΠΈΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ sys.setrecursionlimit(limit)
ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠ΅Π΄Π΅Π» sys.getrecursionlimit()
.
sys.setrecursionlimit(2000)
cursing(0)
# Out: I recursed 1997 times!
ΠΠ· Python 3.5, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ RecursionError
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ RuntimeError
.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Python ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΊΠ»Π°ΡΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
def fibonacci(n):
def step(a,b):
return b, a+b
a, b = 0, 1
for i in range(n):
a, b = step(a, b)
return a
Π€ΡΠ½ΠΊΡΠΈΠΈ Π·Π°Ρ Π²Π°ΡΠ° ΠΈΡ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
def make_adder(n):
def adder(x):
return n + x
return adder
add5 = make_adder(5)
add6 = make_adder(6)
add5(10)
#Out: 15
add6(10)
#Out: 16
def repeatedly_apply(func, n, x):
for i in range(n):
x = func(x)
return x
repeatedly_apply(add5, 5, 1)
#Out: 26
ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠ°Ρ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠ»ΠΎΠ²Π°ΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²: ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² (kwargs). ΠΠΎΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΈ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
def unpacking(a, b, c=45, d=60, *args, **kwargs):
print(a, b, c, d, args, kwargs)
>>> unpacking(1, 2)
1 2 45 60 () {}
>>> unpacking(1, 2, 3, 4)
1 2 3 4 () {}
>>> unpacking(1, 2, c=3, d=4)
1 2 3 4 () {}
>>> unpacking(1, 2, d=4, c=3)
1 2 3 4 () {}
>>> pair = (3,)
>>> unpacking(1, 2, *pair, d=4)
1 2 3 4 () {}
>>> unpacking(1, 2, d=4, *pair)
1 2 3 4 () {}
>>> unpacking(1, 2, *pair, c=3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'c'
>>> unpacking(1, 2, c=3, *pair)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'c'
>>> args_list = [3]
>>> unpacking(1, 2, *args_list, d=4)
1 2 3 4 () {}
>>> unpacking(1, 2, d=4, *args_list)
1 2 3 4 () {}
>>> unpacking(1, 2, c=3, *args_list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'c'
>>> unpacking(1, 2, *args_list, c=3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'c'
>>> pair = (3, 4)
>>> unpacking(1, 2, *pair)
1 2 3 4 () {}
>>> unpacking(1, 2, 3, 4, *pair)
1 2 3 4 (3, 4) {}
>>> unpacking(1, 2, d=4, *pair)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'd'
>>> unpacking(1, 2, *pair, d=4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'd'
>>> args_list = [3, 4]
>>> unpacking(1, 2, *args_list)
1 2 3 4 () {}
>>> unpacking(1, 2, 3, 4, *args_list)
1 2 3 4 (3, 4) {}
>>> unpacking(1, 2, d=4, *args_list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'd'
>>> unpacking(1, 2, *args_list, d=4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'd'
>>> arg_dict = {'c':3, 'd':4}
>>> unpacking(1, 2, **arg_dict)
1 2 3 4 () {}
>>> arg_dict = {'d':4, 'c':3}
>>> unpacking(1, 2, **arg_dict)
1 2 3 4 () {}
>>> arg_dict = {'c':3, 'd':4, 'not_a_parameter': 75}
>>> unpacking(1, 2, **arg_dict)
1 2 3 4 () {'not_a_parameter': 75}
>>> unpacking(1, 2, *pair, **arg_dict)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'd'
>>> unpacking(1, 2, 3, 4, **arg_dict)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'd'
# Positional arguments take priority over any other form of argument passing
>>> unpacking(1, 2, **arg_dict, c=3)
1 2 3 4 () {'not_a_parameter': 75}
>>> unpacking(1, 2, 3, **arg_dict, c=3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unpacking() got multiple values for argument 'c'
ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΈ Π² ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ².
def f(*a, b):
pass
f(1, 2, 3)
# TypeError: f() missing 1 required keyword-only argument: 'b'
Π Python 3 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠ΄Π½Ρ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΡ Π² ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°.
def f(a, b, *, c):
pass
f(1, 2, 3)
# TypeError: f() takes 2 positional arguments but 3 were given
f(1, 2, c=3)
# No error
Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ Π»ΡΠΌΠ±Π΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΡΠ·ΡΠΊΠ° Python
1. Π€ΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» ΡΠΈΡΠ»Π° n ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ n! = 1 β
2 β
… β
n.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 5! = 1 β
2 β
3 β
4 β
5 = 120.
Π―ΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΠΈΠΊΠ»ΠΎΠΌ for.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» ΡΠ°Π·Π½ΡΡ
ΡΠΈΡΠ΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· (ΠΈΠ»ΠΈ Π² ΡΠ°Π·Π½ΡΡ
ΠΌΠ΅ΡΡΠ°Ρ
ΠΊΠΎΠ΄Π°).
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Copy-Paste Π²ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½ΡΠΆΠ½ΠΎ.
# Π²ΡΡΠΈΡΠ»ΠΈΠΌ 3! res = 1 for i in range(1, 4): res *= i print(res) # Π²ΡΡΠΈΡΠ»ΠΈΠΌ 5! res = 1 for i in range(1, 6): res *= i print(res)
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΎΡΠΈΠ±ΡΠΌΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΡΠΎ ΠΏΠΎΡΠΎΠΌ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΠΊΠΎΠ΄ Π²ΠΎ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΊΡΠ΄Π° ΠΌΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°. ΠΠ° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅, ΠΊΠΎΠ΄ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΡΠ΅ΠΌ ΠΌΠΎΠ³ Π±Ρ. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π² ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ.
ΠΡ ΡΠΆΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ sqrt(), len() ΠΈ print(). ΠΠ½ΠΈ Π²ΡΠ΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΎΠ±ΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ: ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π½ΠΎΠ»Ρ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ), ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Ρ
ΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΈ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ sqrt() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΊΠΎΡΠ΅Π½Ρ ΡΠΈΡΠ»Π°). Π€ΡΠ½ΠΊΡΠΈΡ print() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ.
ΠΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ factorial(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΠΈΡΠ»ΠΎ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°.
def factorial(n): res = 1 for i in range(1, n + 1): res *= i return res print(factorial(3)) print(factorial(5))
ΠΠ°Π΄ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΉ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΊΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Π΅ΡΠ½Π΅Π΅, Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΌΡ Π·Π°Ρ ΠΎΡΠΈΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ factorial(). ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΡΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π½Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. factorial β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΡΠΎ Π΅ΡΡΡ ΠΈΠΌΡ Π½Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΈΠ΄Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ n. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΡΠ°Π²ΠΈΡΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅.
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΠΎΠ΅ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊΠ°, ΡΠΎ Π΅ΡΡΡ Ρ ΠΎΡΡΡΡΠΏΠΎΠΌ. ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° ΡΠΈΡΠ»Π° n ΠΈ ΠΎΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ res. Π€ΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ return res, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ res.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ return ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΅Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ return ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±Π΅Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ return ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΡΠΈΠ²Π΅Π΄ΡΠΌ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ max(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΡΠΈΡΠ»Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π° Π² ΠΠΈΡΠΎΠ½).
10 20
def max(a, b): if a > b: return a else: return b print(max(3, 5)) print(max(5, 3)) print(max(int(input()), int(input())))
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ max3(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΈ ΡΠΈΡΠ»Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΡ Π½ΠΈΡ .
def max(a, b): if a > b: return a else: return b def max3(a, b, c): return max(max(a, b), c) print(max3(3, 5, 4))
ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ max() Π² ΠΠΈΡΠΎΠ½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈΠ· Π½ΠΈΡ . ΠΡΠΈΠ²Π΅Π΄ΡΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π°.
def max(*a): res = a[0] for val in a[1:]: if val > res: res = val return res print(max(3, 5, 4))
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΠ±Π΅ΡΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡΡΠ΅ΠΆ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ a, Π½Π° ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠ° Π² ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
2. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
def f(): print(a) a = 1 f()
ΠΠ΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a
ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, ΠΈ ΡΡΠ½ΠΊΡΠΈΡ f()
ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ f
ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ. Π ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ f()
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a
ΡΠΆΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ f()
ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½.
Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ)
Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ.
ΠΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
def f(): a = 1 f() print(a)
ΠΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ NameError: name 'a' is not defined
. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ,
Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ:
def f(): a = 1 print(a) a = 0 f() print(a)
ΠΡΠ΄ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ ΡΠΈΡΠ»Π° 1 ΠΈ 0. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a
ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ! ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΡΠ΅Π»ΡΡ
βΠ·Π°ΡΠΈΡΡβ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i
, Π° Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i
ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°, ΡΠΎ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ
Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ½ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, ΠΊΠ°ΠΊ Π±Ρ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π»,
Π΅ΡΠ»ΠΈ Π±Ρ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ»Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i.
def factorial(n): res = 1 for i in range(1, n + 1): res *= i return res for i in range(1, 6): print(i, '! = ', factorial(i), sep='')
ΠΡΠ»ΠΈ Π±Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i ΠΈΠ·ΠΌΠ΅Π½ΡΠ»Π°ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΠΌΡ Π±Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΠΎΡ ΡΡΠΎ:
5! = 1 5! = 2 5! = 6 5! = 24 5! = 120
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ,
ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Π΅Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ
ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΠΎΠ»Π΅Π΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ: ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΠΈΡΠΎΠ½ ΡΡΠΈΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π² Π΅Ρ ΠΊΠΎΠ΄Π΅
Π΅ΡΡΡ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎ ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ
ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ β ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ =
, +=
, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΊΠ»Π° for
.
ΠΡΠΈ ΡΡΠΎΠΌ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ,
ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ, ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ. ΠΡΠΈΠΌΠ΅Ρ:
def f(): print(a) if False: a = 0 a = 1 f()
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°: UnboundLocalError: local variable 'a' referenced before assignment
.
Π ΠΈΠΌΠ΅Π½Π½ΠΎ, Π² ΡΡΠ½ΠΊΡΠΈΠΈ f()
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ a
ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ,
Ρ.ΠΊ. Π² ΡΡΠ½ΠΊΡΠΈΠΈ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ a
, ΠΏΡΡΡΡ Π΄Π°ΠΆΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΠΈ
Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ (Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ). ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a
ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π§ΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠ³Π»Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° global
:
def f(): global a a = 1 print(a) a = 0 f() print(a)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ 1 1, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a
ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°, ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ,
ΠΈ Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΈ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π°.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π»ΡΡΡΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΌΠ΅Π½ΡΡΡ
ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΏΡΡΡΡ Π»ΡΡΡΠ΅ ΠΎΠ½Π° Π²Π΅ΡΠ½ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ Π²Ρ ΡΠ°ΠΌΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ΠΊΠΎΠ΄Π°, ΠΈ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π΄ΡΡΠ³ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΡΡ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠΎΡΠΎΠΌ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ f.
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π΅ ΡΡΠΎΠΈΡ Π΄Π΅Π»Π°ΡΡ:
5
def factorial(n): global f res = 1 for i in range(2, n + 1): res *= i f = res n = int(input()) factorial(n) # Π΄Π°Π»ΡΡΠ΅ Π²ΡΡΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ f
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΠ»ΠΎΡ ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π³ΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π·Π°Π²ΡΡΠ° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Β«ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Β», ΡΠΎ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΡΡΠ΄Π° ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π² Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΡΠΈΡΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
5
# Π½Π°ΡΠ°Π»ΠΎ ΠΊΡΡΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ def factorial(n): res = 1 for i in range(2, n + 1): res *= i return res # ΠΊΠΎΠ½Π΅Ρ ΠΊΡΡΠΊΠ° ΠΊΠΎΠ΄Π° n = int(input()) f = factorial(n) # Π΄Π°Π»ΡΡΠ΅ Π²ΡΡΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ f
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½ΡΠ»Π° Π½Π΅ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅, ΡΠΎ
Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· Π΄Π²ΡΡ
ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
Π’ΠΎΠ³Π΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ:
3. Π Π΅ΠΊΡΡΡΠΈΡ
def short_story(): print("Π£ ΠΏΠΎΠΏΠ° Π±ΡΠ»Π° ΡΠΎΠ±Π°ΠΊΠ°, ΠΎΠ½ Π΅Π΅ Π»ΡΠ±ΠΈΠ».") print("ΠΠ½Π° ΡΡΠ΅Π»Π° ΠΊΡΡΠΎΠΊ ΠΌΡΡΠ°, ΠΎΠ½ Π΅Π΅ ΡΠ±ΠΈΠ»,") print("Π Π·Π΅ΠΌΠ»Ρ Π·Π°ΠΊΠΎΠΏΠ°Π» ΠΈ Π½Π°Π΄ΠΏΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π»:") short_story()
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²ΡΡΠ΅, ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈ ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ!
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°. Π₯ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ 0!=1, 1!=1.
Π ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ n! Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ n? ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ (n-1)!,
ΡΠΎ ΡΠΎΠ³Π΄Π° ΠΌΡ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΠΈΡΠ»ΠΈΠΌ n!, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ n!=nβ
(n-1)!. ΠΠΎ ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ (n-1)!? ΠΡΠ»ΠΈ Π±Ρ
ΠΌΡ Π²ΡΡΠΈΡΠ»ΠΈΠ»ΠΈ (n-2)!, ΡΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈ ΠΈ (n-1)!=(n-1)β
(n-2)!. Π ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ (n-2)!?
ΠΡΠ»ΠΈ Π±Ρ… Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΌΡ Π΄ΠΎΠΉΠ΄Π΅ΠΌ Π΄ΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ 0!, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π²Π½Π° 1. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° Π΄Π»Ρ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° ΠΠΈΡΠΎΠ½Π΅:
def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) print(factorial(5))
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΡΠΈΠ΅ΠΌ (Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠ°ΠΌΠΎΠΉ ΡΠ΅Π±Ρ) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΉ, Π° ΡΠ°ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ.
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΡΠ½ΡΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠ½ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ. Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ
ΠΈΠ· ΡΠ°ΠΊΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊΒ β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅ΠΊΡΡΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΠΏΠΎΡΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ,
ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½ΡΠΈΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² ΡΠΏΠΈΠ³ΡΠ°ΡΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ.
ΠΠ²Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠΈ:
- ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΊΡΡΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°
Π·Π°Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡif n == 0
, ΡΠΎfactorial(0)
Π²ΡΠ·ΠΎΠ²Π΅Ρfactorial(-1)
,
ΡΠΎΡ Π²ΡΠ·ΠΎΠ²Π΅Ρfactorial(-2)
ΠΈ Ρ. Π΄. - Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ
factorial(n)
Π±ΡΠ΄Π΅Ρ
Π²ΡΠ·ΡΠ²Π°ΡΡfactorial(n)
, ΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅ΠΏΠΎΡΠΊΠ°.
ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΠΎΡΠΌΠ»ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ
ΠΈ Π΄ΡΠΌΠ°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ.
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° Π·Π°Π΄Π°ΡΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΌΠ΅Π½Ρ ΡΠ»Π΅Π²Π°. ΠΡΠ°Π»ΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΌΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΡΠ²Π°ΠΆΠ°Π»ΠΈ Π±ΡΠ²Π°Π»ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
ΠΠ°ΡΠ΅ΠΌ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎ-ΠΎΡΠΎΠ±ΠΎΠΌΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΠΌ ΠΏΠΎ-Π»ΡΠ±ΠΎΠΌΡ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΊΠ°ΠΊ-ΡΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Β ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΡΡΠΈ Π»ΡΠ±ΡΠΌΠΈ: Ρ ΠΎΡΡΒ a, bΒ ΠΈΒ c, Ρ ΠΎΡΡ SuperImportantVariable3000. Π’ΠΎΒ ΠΆΠ΅ ΡΒ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ: ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΠΏΠ΅ΡΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ ΡΠΈΠΏΠ° yo(), Π°Β ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π·Π°ΠΌΠΎΡΠΎΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΡΠΎΠ΄Π΅ getNewPageNumberAndNavigateToThatPage(). ΠΠ°ΠΊ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅Β β ΡΠ°ΠΊ ΠΈΒ Π±ΡΠ΄Π΅Ρ. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ Π΄Π΅Π»Π°ΡΡ Π°Π²ΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π²ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ Π²Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅Β ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΈΡ Β Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ.
ΠΠΎΒ Π΅ΡΡΡ ΡΡΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°:
- Π§Π΅ΡΠ΅Π· Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ Π²ΡΒ ΡΠΆΠ΅ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π±ΡΠ» ΡΡΡΡΠΎΠ΅Π½ Π²Π°Ρ ΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π²ΡΒ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΈΒ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ ΠΊΒ Π½Π΅ΠΉ ΡΠ΅ΡΠ΅Π· 14β21Β Π΄Π΅Π½Ρ, Π²ΡΒ ΡΠΆΠ΅ Π½Π΅Β ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Β Ρ ΠΎΠ΄Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, Π·Π°Β ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΒ Π΅ΡΠ»ΠΈ ΠΏΠΎΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ, ΡΠΎΒ Π²ΡΒ ΡΠ΅Π±Π΅ ΠΎΡΠ΅Π½Ρ ΡΠΏΡΠΎΡΡΠΈΡΠ΅ Π·Π°Π΄Π°ΡΡ.
- Π‘Β Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ. ΠΡΒ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΊΠ»Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ, ΠΈΒ Π²ΡΒ ΠΏΡΠΈΠ³Π»Π°ΡΠ°Π΅ΡΠ΅ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΠΆΠ΅ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π½Π΅ΠΉ. ΠΠ½Β ΠΎΡΠΊΡΠΎΠ΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈΒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ΄Π΅Ρ Π²Β Π½ΡΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·Π²Π°Π½Ρ Ρ ΠΎΡΠΎΡΠΎ, Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΡ ΠΏΠΎΠ½ΡΡΡ ΠΈΒ ΠΎΠ½Β Π±ΡΡΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
- ΠΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π°Β ΠΏΡΠΈΡΠΌ Π½Π°Β ΡΠ°Π±ΠΎΡΡ. ΠΡΠ»ΠΈ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ²ΡΠ·Π°ΡΡ ΡΠ²ΠΎΡ ΠΆΠΈΠ·Π½Ρ ΡΒ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΒ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌ Π²Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΡΠ΄ΡΡ ΡΡΠ΄ΠΈΡΡ ΠΎΒ Π²Π°ΡΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°Ρ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΒ Π±Π΅Π· ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π°Β Π²ΠΎΡ Π²Π°Ρ Π²Β ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΒ Π½Π΅Β ΠΏΠΎΠ·Π²Π°ΡΡ.
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠΎΠ³Π΄Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΡΒ ΡΠ΅Π±Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΒ ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅: screen, score, text ΠΈΒ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠΎΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½ΡΠΆΠ½Ρ Π²ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅: totalScore, totalScoreBefore, totalScoreAfter, totalScoreMaxProgressiveLimit ΠΈΒ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅. Π’ΡΡ Π½Π°Π΄ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΈΒ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ Π²ΠΎΡ ΠΎΒ ΡΡΠΌ.
Π§Π΅ΠΌ Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠ΅ΠΌ ΡΡΠΆΠ΅Π»Π΅Π΅ Π΅ΡΒ Π½Π°Π±ΡΠ°ΡΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ. Π‘ΠΏΠ°ΡΠ°Π΅Ρ Π°Π²ΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, Π½ΠΎΒ Π΅ΡΠ»ΠΈ Π΅ΡΒ Π½Π΅ΡΒ β ΠΏΠΎΡΡΠΈ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π²Π°Ρ ΠΊΠΎΠ΄ Π½Π΅Β ΠΏΠΎΠ»Π΅ΡΠΈΡ ΠΈΠ·-Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ.
ΠΡΠ»ΠΈ Π²ΡΒ ΠΏΠΈΡΠ΅ΡΠ΅ Π½Π°Β JavaScript, ΡΠΎΒ Π±ΡΠ΄Π΅Ρ Π΅ΡΡ Ρ ΡΠΆΠ΅: ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Β Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π°Β Ρ ΠΎΠ΄Ρ, ΠΎΡΠΈΠ±ΠΊΠ° Π²Β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ totalScoreMaxProgresLimit ΡΒ Π½Π΅Π³ΠΎ Π½Π΅Β Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠΉ. ΠΠ½Β ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΒ ΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΒ ΡΒ Π²Π°Ρ Π±ΡΠ΄ΡΡ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅Β β ΠΎΠ΄Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ, Π΄ΡΡΠ³Π°Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΡΡΠΈΡΡΡ, Π½ΠΎΒ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ.
ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠ΅ΠΌΠΈΡΠ΅ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ½ΡΡΠ½Ρ Π±Π΅Π· Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π²Π½ΠΈΠΊΠ°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, totalScoreΒ β ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΡΡΡ Π²Β ΠΈΠ³ΡΠ΅, maxWidthΒ β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π°. ΠΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π°Β ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ»ΠΎΡΠΊΠ°Ρ , Π²Β Π³ΡΡΠΏΠΏΠ°Ρ ΠΈΠ»ΠΈ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠΌΠΈ-ΡΠΎ ΠΏΠ°ΡΠΊΠ°ΠΌΠΈ, ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΒ ΠΊΠ»Π°ΡΡΠΎΠ² Π²Β JavaScriptΒ β ΡΡΠΎΒ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ.
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΡΒ β ΡΡΠΎ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²Π½ΡΡΡΠΈ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΒ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ getNumber(), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π²Β Π½ΡΠΆΠ½ΠΎΠΌ Π²Π°ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. ΠΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ setTimer() β ΠΈΒ Π³Π΄Π΅-ΡΠΎ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΒ ΡΠΎ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΠΎΒ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΎΡΡΡΡΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ, Π°Β ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΡΡΠΎΠΊΡ ΡΠ΅ΠΊΡΡΠ°, Π½Π°ΠΏΠΈΡΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π½Π°Β ΠΈΠ½ΠΎΡΡΡΠ°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΈΒ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ.
Π£Β ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ³ΠΎΠ΄Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ. ΠΠΎΒ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌΠΈ:
- shuffle() β ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°;
- saveScore() β ΡΠΎΡ ΡΠ°Π½ΠΈΡ ΠΊΡΠ΄Π°-ΡΠΎ ΡΡΡΡ ΠΈΠ³ΡΡ;
- kill() β ΡΠ±ΡΡΡ ΡΡΠΎ-ΡΠΎ;
spawn() β ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎ-ΡΠΎ; - loadDatabase() β Π·Π°Π³ΡΡΠ·ΠΈΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²Β ΠΏΠ°ΠΌΡΡΡ;
- makeBackup() β ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΄Π°Π½Π½ΡΡ Β ΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠΎΡ ΡΠ°Π½ΠΈΡ Π΅ΡΒ ΠΊΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ;
- getSpeed() β Π²ΡΡΡΠ½ΠΈΡΡ, ΡΒ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΡΠΎ-ΡΠΎ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ;
- getUserName() β ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, ΠΈΒ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½ΡΡ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
- getSessionId() β Π²Π΅ΡΠ½ΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅ΡΡΠΈΠΈ;
- setTimeout() β Π·Π°Π΄Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
- setSpeed() β Π·Π°Π΄Π°ΡΡ ΡΠ΅ΠΌΡ-ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡ.
ΠΡΒ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΈΠ·Β Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΈΒ ΡΠΎΠΎΠ±ΡΠΈΡΒ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, getScore() Π²Π΅ΡΠ½ΡΡ ΡΡΡΡ ΠΈΠ³ΡΡ, setScore() Π·Π°Π΄Π°ΡΡ ΡΡΡΡ ΠΈΠ³ΡΡ ΠΈΒ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Β Π²Π΅ΡΠ½ΡΡ, Π°Β clearScore() ΠΎΠ±Π½ΡΠ»ΠΈΡ ΡΡΡΡ ΠΈΠ³ΡΡ ΠΈΒ ΡΠΎΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Β Π²Π΅ΡΠ½ΡΡ.
ΠΒ ΡΡΠΎ ΡΒ Π·Π°Π³Π»Π°Π²Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ?
ΠΒ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡΡ Π΄Π²Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊΒ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ : camelCase ΠΈΒ snake_case.
Π camelCase ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»ΠΎΠ² ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π±Π΅Π· ΠΏΡΠΎΠ±Π΅Π»Π°, Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΈΡΡΡΡΡ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ: getMoney, renderToFrame, removeFromBase ΠΈ Ρ. Π΄. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π² JavaScript. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π² JavaScript ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ ΠΊ Π·Π°Π³Π»Π°Π²Π½ΡΠΌ, ΡΠΎ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ getmoney ΠΈ getMoney β ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
Snake_case β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠ»ΠΎΠ²Π° ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡΡΡΡ Π½ΠΈΠΆΠ½ΠΈΠΌ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠΎ ΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ CSS. ΠΡΠΈΠΌΠ΅ΡΡ: header_marginal, form_success.
ΠΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ°. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠΎΡΠΎΠΌ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄ΡΡ ΡΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ, ΠΈΒ Π²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·Π²Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΒ Π±ΡΠ΄Π΅Ρ ΡΡΠΆΠ΅Π»ΠΎΠ²Π°ΡΠΎ.
ΠΠ°ΠΊ Π½Π΅Β Π½Π°Π΄ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π½ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅Β ΡΠΎΠ²Π΅ΡΡΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΡΠ΅Π°ΡΠΈΠ²Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ crazyUnicorn ΠΈΠ»ΠΈ wonderfulWorld(). ΠΠ·Β Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΒ Π»ΠΈ ΠΎΠ½ΠΈ ΡΡΠΎ-ΡΠΎ ΠΈΒ Π²ΠΎΠΎΠ±ΡΠ΅ Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ.
ΠΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, unicornCountΒ β Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΒ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π΅Π΄ΠΈΠ½ΠΎΡΠΎΠ³ΠΎΠ². ΠΒ initWorld() β ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ.
ΠΠ΅Β Π½Π°Π·ΡΠ²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ function ΠΈΠ»ΠΈ variable. MyVar ΠΈΒ superFunction() β ΠΏΠ»ΠΎΡ ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΒ ΡΠ°ΠΌΠΈΒ ΠΆΠ΅ ΡΠ΅ΡΠ΅Π· Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠΈ ΡΡΡΠΊΠΈ Π΄Π΅Π»Π°ΡΡ.
ΠΡΡΡΠ΅ Π½Π΅Β Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ-ΡΡΡΡΠΊΠΈ ΡΠΈΠΏΠ° solnce ΠΈΠ»ΠΈ KYCb() β Π·Π°Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΎΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΈΡΡΡΡΡ. ΠΒ ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ·Π½Π°Π½Π½ΠΎΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΡΡ Π²Π°Ρ. ΠΡΠΈ ΡΡΠΎΠΌ: Π΅ΡΠ»ΠΈ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅Π»Π°Π΅Ρ Β«ΠΊΡΡΡΒ», ΡΡΠΎΠ±Ρ ΡΡΠΎ Π½ΠΈΒ Π·Π½Π°ΡΠΈΠ»ΠΎ, Π΅Π΅Β ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ bite() ΠΈΠ»ΠΈ getPiece().
ΠΠ΅Β Π΄Π΅Π»Π°ΠΉΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ: ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅Β p, m, t, zΒ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ hm() β ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΊΠΎΡΠΎΡΠΊΠΎ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅Β β ΠΊΠΎΠ³Π΄Π° Π²ΡΒ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΈΠΊΠ»Ρ: ΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΠ°Β i, n, pΒ β ΡΒ ΠΈΡ Β ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡΠ°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠΈΠΊΠ» ΡΠΆΠ΅ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π». ΠΠΎΒ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΡΠΎΠ»Ρ ΠΈΒ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΠ»ΠΈΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠΈΠΊΠ»Π°, Π±ΠΎΠ»ΡΡΠ΅ ΠΊΒ Π½ΠΈΠΌ Π½Π΅Β ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ.
ΠΠ±ΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: Π½Π°Π·ΡΠ²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΈΡ Β Π±ΡΠ΄ΡΡ ΡΠΈΡΠ°ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ Π»ΡΠ΄ΠΈ. ΠΡΠ΄ΡΠΎ Π·Π°Π²ΡΡΠ° Π²Π°ΠΌ Π²Β ΠΎΡΠΏΡΡΠΊ, Π°Β Π·Π°Β Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΡ Π²Π°Ρ ΠΊΠΎΠ»Π»Π΅Π³Π° ΠΈΠ·Β ΠΠ½Π΄ΠΈΠΈ. ΠΠ½Β Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΡΡΡ Π²Π°ΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΒ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡΒ β Π²Π°Ρ ΠΎΡΠΎΡΠ²ΡΡ ΡΒ ΡΡΠΊΠ°ΠΌΠΈ Π²Β Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ c ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ — ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅
Β Β Β ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ c ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ°ΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»ΠΈΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Β Β f(x) = x2 and g(x) = x
Π‘ΡΠΌΠΌΠ° ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ:
Β Β f(x) + g(x) = x2 + x
Π‘ΡΠΌΠΌΠ° Π΄Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ f ΠΈ g ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ f + g
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
(f + g)(x) = f(x) + g(x)Β Β Β Β Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
(f — g)(x) = f(x) — g(x)Β Β Β Β ΠΡΡΠΈΡΠ°Π½ΠΈΠ΅
(f.g)(x) = f(x).g(x)Β Β Β Β Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅
(f/g)(x) = f(x)/g(x)Β Β Β Β ΠΠ΅Π»Π΅Π½ΠΈΠ΅
ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ f + g, f — g, f.g, ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ f ΠΈ g
ΠΠ»Ρ f/g, ΠΎΠ±Π»Π°ΡΡΡ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ f ΠΈ g ΠΊΡΠΎΠΌΠ΅ ΡΠΎΡΠ΅ΠΊ, Π³Π΄Π΅ g(x) = 0
Β Β Β ΠΡΠΈΠΌΠ΅Ρ
f(x) = 1 + βx — 2 and g(x) = x — 1
Π’ΠΎΠ³Π΄Π° ΠΈΡ
ΡΡΠΌΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ
(f + g)(x) = f(x) + g(x) = (1 + βx — 2) + (x — 1) = x + βx — 2
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ f ΠΈ g Ρ ΠΈΡ ΡΡΠΌΠΌΠΎΠΉ:
Π€ΡΠ½ΠΊΡΠΈΡ | ΠΠ±Π»Π°ΡΡΡ |
f(x) = 1 + βx — 2 | [2; +β) |
g(x) = x — 1 | (-β +β) |
(f + g)(x) = x + βx — 2 | [2; β)β©(-β +β) = [2; β) |
Β Β Β ΠΡΠΈΠΌΠ΅Ρ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ
f(x) = 3βx and g(x) = βx
Π’ΠΎΠ³Π΄Π° ΠΈΡ
ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ
(f.g)(x) = f(x).g(x) = (3βx)(βx) = 3x
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ
Β Β Β Β Β Β ΠΠ°ΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ 3x Π΅ΡΡΡ (-β; +β)
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ f ΠΈ g, ΠΈ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅:
Π€ΡΠ½ΠΊΡΠΈΡ | ΠΠ±Π»Π°ΡΡΡ |
f(x) = 3βx | [0; +β) |
g(x) = βx | [0; +β) |
(f.g)(x) = 3x, x β₯ 0 | [0; +β) β© [0; +β) = [0; +β) |
ΠΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ
f2(x) = f(x).f(x)
Π ΡΠ΅Π»ΠΎΠΌ, Π΅ΡΠ»ΠΈ n Π΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΅Π»ΡΠΌ, ΡΠΎΠ³Π΄Π° hen
fn(x) = f(x).f(x)…f(x)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
sin(x).sin(x) = (sin(x))2 = sin2x
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Π΅ΡΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ
f(x) = x3 ΠΈ g(x) = x + 4
ΠΡΠ»ΠΈ ΠΌΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ g(x) Π½Π° x Π² ΡΠΎΡΠΌΡΠ»Π΅ Π΄Π»Ρ f, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
(f o g)(x) = f(g(x)) = (g(x))3 = (x + 4)3
Π§ΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ f(g(x)) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ½Π°ΡΠ°Π»Π° g(x) Π΄Π»Ρ x ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ g, Π° ΡΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ g(x) Π² ΠΎΠ±Π»Π°ΡΡΠΈ f Π²ΡΡΠΈΡΠ»ΠΈΡΡ f(g(x))
Β Β Β ΠΡΠΈΠΌΠ΅Ρ:
ΠΡΡΡ
f(x) = x2 + 3 Β g(x) = βx
Π’ΠΎΠ³Π΄Π° ΡΠΎΡΡΠ°Π²Π½Π°Ρ ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π΅ΡΡΡ
(f o g)(x) = f(g(x)) = (g(x))2 + 3 = (βx)2 + 3 = x + 3
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ f ΠΈ g, ΠΈ ΠΈΡ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ | ΠΠ±Π»Π°ΡΡΡ |
f(x) = x2 + 3 | (-β; +β) |
g(x) = βx | [0; +β) |
(f o g)(x) = x + 3 | ΠΡΠ΅ x Π² [0; +β) ΡΠ°ΠΊΠΈΠ΅, ΡΡΠΎ g(x) Π»Π΅ΠΆΠΈΡ Π² (-β; +β) ΠΎΡΡΡΠ΄Π° ΠΎΠ±Π»Π°ΡΡΡ is (-β; +β) |
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ
h(x) = (x + 1)2
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ h ΠΊΠ°ΠΊ
f(x) = x + 1
g(x) = x2
h(x) = g(f(x))
Β Β Β ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ
(x2 + 1)10 = [(x2 + 1)2]5 = f(g(x))
g(x) = (x2 + 1)2, f(x) = x5
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ
(x2 + 1) = [(x2 + 1)3]10/3 = f(g(x))
g(x) = (x2 + 1)3, f(x) = x10/3
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ
(f o g) β (g o f)
ΠΠ±Π»Π°ΡΡΡ (f o g) ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²ΡΠ΅Ρ
x Π² ΠΎΠ±Π»Π°ΡΡΠΈ g Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
g(x) Π² ΠΎΠ±Π»Π°ΡΡΠΈ f
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ — ΡΡΠΎ… Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ?
- ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ
ΠΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠ΅ M ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ (ΠΎΠ±ΡΡΠ½ΠΎ β Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅) ΡΠΈΡΠ»ΠΎ u, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π°Π΄Π°Π½ΠΎ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠ°Ρ Rn Π² R (ΡΠΊΠ°Π»ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ).
Π§Π°ΡΠ΅ Π΄ΡΡΠ³ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ:
- Π€ΡΠ½ΠΊΡΠΈΡ ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ : (ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅).
- Π€ΡΠ½ΠΊΡΠΈΡ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ : (ΠΏΠ»ΠΎΡΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅).
ΠΠ±ΡΡΠ½ΠΎ ΠΎΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π· (ΡΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ Cm).
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ: ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°; ΡΠ»Π΅ΠΊΡΡΠΎΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π». ΠΡΠΈΠΌΠ΅Ρ ΠΏΠ»ΠΎΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ: Π³Π»ΡΠ±ΠΈΠ½Π° ΠΌΠΎΡΡ, ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΠΉ ΠΊΠ°ΡΡΠ΅.
- ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΠ»Π΅, ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ½ΠΎΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (ΠΈΠ½ΠΎΠ³Π΄Π°, ΠΈ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ — ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ
, ΡΠΎΡ
ΡΠ°Π½ΡΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΌ, ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ
ΠΈΡΠΏ; Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅Π΄ΠΊΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ½ΠΎΡΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΏΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ
, Π±ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π³Π»Π°Π΄ΠΊΠΎΡΡΡΡ). (Π‘ΠΌ. ΡΠΊΠ°Π»ΡΡ).
- Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ·Π½Π°ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ. ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π² ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²ΡΠ±ΠΎΡΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΎΡΠ΅ΠΉ) ΠΎΠ½Π° Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ (ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ).
- ΠΠΎΠ΄ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠ·ΠΈΠΊΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ (ΡΠ°ΠΊΠΆΠ΅ ΠΈ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ) ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠΊΠ°Π»ΡΡΠ° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΠΈΠ½ΠΊΠΎΠ²ΡΠΊΠΎΠ³ΠΎ (Π»ΠΎΡΠ΅Π½Ρ-ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅) ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅, ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, (ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ).
- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠ°ΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π° ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² ΡΠΌΡΡΠ»Π΅, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅, ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Ρ ΠΏΠΎΠ»Π΅ ΡΠΏΠΈΠ½Π° Π½ΠΎΠ»Ρ ΡΠ°ΡΡΠΈΡΠ° ΡΠΏΠΈΠ½Π° Π½ΠΎΠ»Ρ, ΡΠΊΠ°Π»ΡΡΠ½Π°Ρ ΡΠ°ΡΡΠΈΡΠ° (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅, Π²ΡΡ ΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π²ΠΎΠ΄Ρ ΡΡΠΈ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΈΡΠΌΠΈ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ).
- ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ (ΠΏΠΎΠΊΠ°) Π½Π΅ ΠΎΡΠΊΡΡΡΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ (Π² ΡΠΌΡΡΠ»Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ°) ΠΏΠΎΠ»Π΅. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠ³ΡΠ°ΡΡ Π½Π΅ΠΌΠ°Π»ΡΡ ΡΠΎΠ»Ρ Π² ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡΡ (ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²Π°ΠΆΠ½ΡΠ΅ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΊΠ°Π»ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»Π΅ Π₯ΠΈΠ³Π³ΡΠ°), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ Π½Π°Π»ΠΈΡΠΈΠ΅ (Π½Π°ΡΡΠ΄Ρ Ρ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΌΠΈ ΠΈ ΡΠ΅Π½Π·ΠΎΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠΌΠΈ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠΌΡΡΠ»Π΅ ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΡΠΌΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎ) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ.
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ
Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΡΠΎΠ²Π½Ρ. ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡΡ ΡΡΠΎΠ²Π½Ρ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ u = u(x,y,z) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ u ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ c, ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ u(x,y,z) = c.
ΠΠ»Ρ ΠΏΠ»ΠΎΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠΎΠ²Π½Ρ. ΠΡΠΈΠΌΠ΅ΡΡ: ΠΈΠ·ΠΎΠ±Π°ΡΠ°, ΠΈΠ·ΠΎΡΠ΅ΡΠΌΠ° ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΠ½ΠΈΠΈ.
ΠΡΠ°Π΄ΠΈΠ΅Π½Ρ
ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π΅ΠΊΡΠΎΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° , ΠΈΠ»ΠΈ , Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ:
- .
ΠΡΠ°Π΄ΠΈΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΠ΅ΡΠΏΠ΅Π½Π΄ΠΈΠΊΡΠ»ΡΡΠ΅Π½ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡΠΌ ΡΡΠΎΠ²Π½Ρ (Π² ΠΏΠ»ΠΎΡΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅Β β Π»ΠΈΠ½ΠΈΡΠΌ ΡΡΠΎΠ²Π½Ρ). ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ — ΠΎΡΠΎΠ±ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΠΎΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ.
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
Wikimedia Foundation.
2010.
- ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠ΄Π΅Π»ΡΠ½Π°Ρ
- ΠΠΎΠ²Π΅ΡΡ Π² ΠΌΠ΅Π½Ρ
Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ «ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ» Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡΡ :
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ β ΡΠΌ. ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ β¦ Β ΠΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ Π€.Π. ΠΡΠΎΠΊΠ³Π°ΡΠ·Π° ΠΈ Π.Π. ΠΡΡΠΎΠ½Π°
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° β 23. ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΡΠΎΠ²Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΠ΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΡΠΎΡΠ΅ΠΊ Π² ΡΠ°ΠΊΡΠΎΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΡΡΠΎΡΠ½ΠΈΠΊ: ΠΠΠ‘Π’ 24026 80: ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ. ΠΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°.β¦ β¦ Β Π‘Π»ΠΎΠ²Π°ΡΡ-ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎ-ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ β ΡΡΠΎΠ²Π½Ρ. ΠΡΠ»ΠΈ ΡΠ°Π²Π½ΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠ°Ρ ΡΠΈΠ», ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅, ΠΈΠΌΠ΅Π΅Ρ Π. ΡΡΠ½ΠΊΡΠΈΡ V, ΡΠΎ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΡΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠΎΡΠ±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Vβ¦ β¦ Β ΠΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ ΠΡΠΎΠΊΠ³Π°ΡΠ·Π° ΠΈ ΠΡΡΠΎΠ½Π°
Π£ΡΠΎΠ²Π½Ρ Π»ΠΈΠ½ΠΈΠΈ (ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ) β Π£ΡΠΎΠ²Π½Ρ Π»ΠΈΠ½ΠΈΠΈ (ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ), ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΎΡΠ΅ΠΊ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ (Π ) ΡΠΎΡΠΊΠΈ Π ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ (ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°) ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π£ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ u (P) = const Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π»ΠΈΠ½ΠΈΡ (Π»ΠΈΠ½ΠΈΡ ΡΡΠΎΠ²Π½Ρ), Π² ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ β ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡβ¦ β¦ Β ΠΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠ²Π΅ΡΡΠΊΠ°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ
ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ β 34 ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ: ΠΠ²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΡΠ²ΠΎΠΈΡ Π³ΡΠ°Π½ΠΈΡΠ°Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. ΠΡΡΠΎΡΠ½ΠΈΠΊ: ΠΠΠ‘Π’ Π 52438 2005: ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. Π’Π΅ΡΠΌΠΈΠ½Ρ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ β¦ Β Π‘Π»ΠΎΠ²Π°ΡΡ-ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎ-ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
Π£ΡΠΎΠ²Π½Ρ Π»ΠΈΠ½ΠΈΠΈ β (ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ) Β Β Β Β Β Β Β Β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΎΡΠ΅ΠΊ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ (Π ) ΡΠΎΡΠΊΠΈ Π ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ (ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°) ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π£ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ u (P) = const Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π»ΠΈΠ½ΠΈΡ (Π»ΠΈΠ½ΠΈΡ ΡΡΠΎΠ²Π½Ρ), Π² ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ β ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡβ¦ β¦ Β ΠΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠ²Π΅ΡΡΠΊΠ°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ
ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΠΌΠ΅ΠΆΡΠ΅Π³ΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΡ β ΠΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠ·ΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ²Π΅ Π² ΠΎΡΠ°Π΄ΠΊΠΎΠ½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠΈ. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΡΡ ΠΈ ΠΏΡΠ΅Π±ΡΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΡΡ Π½Π° Π½ΠΈΠ·ΠΊΠΈΡ ΠΎΡΠΌΠ΅ΡΠΊΠ°Ρ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ [http://slovarionline.ru/angloβ¦ β¦ Β Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ (Π·Π΅ΠΌΠ½Π°Ρ) β ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π² ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°ΡΠΊΠ΅ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½Π°Ρ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΠ΅ΠΌΠ»ΠΈ, Π³Π΄Π΅ Π΅Ρ ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ (Π·Π΅ΠΌΠ½Π°Ρ ΠΊΠΎΡΠ°, ΡΡΠΎΠΏΠΎΡΡΠ΅ΡΠ°, ΡΡΡΠ°ΡΠΎΡΡΠ΅ΡΠ°, Π³ΠΈΠ΄ΡΠΎΡΡΠ΅ΡΠ° ΠΈ Π±ΠΈΠΎΡΡΠ΅ΡΠ°) ΠΏΡΠΎΠ½ΠΈΠΊΠ°ΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ΅ΡΠ½ΠΎΠΌ β¦ Β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΠΠ΅ΠΌΠ»ΠΈ β ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π² ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°ΡΠΊΠ΅ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½Π°Ρ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΠ΅ΠΌΠ»ΠΈ, Π³Π΄Π΅ Π΅Ρ ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ (Π·Π΅ΠΌΠ½Π°Ρ ΠΊΠΎΡΠ°, ΡΡΠΎΠΏΠΎΡΡΠ΅ΡΠ°, ΡΡΡΠ°ΡΠΎΡΡΠ΅ΡΠ°, Π³ΠΈΠ΄ΡΠΎΡΡΠ΅ΡΠ° ΠΈ Π±ΠΈΠΎΡΡΠ΅ΡΠ°) ΠΏΡΠΎΠ½ΠΈΠΊΠ°ΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ΅ΡΠ½ΠΎΠΌ β¦ Β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
ΠΠΊΠ²ΠΈΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ β ΠΠΊΠ²ΠΈΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΠΏΠΎΠ»Ρ (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΡΡΠΌΠ½ΡΠΌ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΡΡ ΡΠΈΡΡΠ½ΠΊΠ°; ΡΠ²Π΅ΡΠΎΠΌ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π° Π² ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΊΠ°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΡΠΏΡΡΠ½ΡΠΌ ΠΈ ΠΊΡΠ°ΡΠ½ΡΠΌ, Π½ β¦ Β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
ΠΠ΅Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΡΠ²ΡΠ·ΠΈ Π² ΠΏΡΠΈΡΠΎΠ΄Π΅ ΠΈ ΡΠ°ΠΊΡΠΎΡΡ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π»Ρ Π½Π°Ρ
22/05/2018
Π£ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π²ΠΎΠ»ΠΎΡΡ ΠΊΡΠ΄ΡΡΠ²ΡΠ΅, Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ β ΠΏΡΡΠΌΡΠ΅.Β Π£ ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ Π·Π°Π³Π°Ρ, Π° Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΊΠΎΠΆΠ° ΡΠ³ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠΎΠ»Π½ΡΠ΅. ΠΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΊΡΠΈΠ²ΠΈΡΡ Π³ΡΠ±Ρ, Π° ΠΊΡΠΎ-ΡΠΎ Π½Π΅Ρ. ΠΡΠ΅ ΡΡΠΎ ΠΈΠ·-Π·Π° Π½Π°ΡΠΈΡ Π³Π΅Π½ΠΎΠ² ΠΈ ΠΎΡΠ»ΠΈΡΠΈΠΉ Π² Π½ΠΈΡ . Π Π°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅. ΠΡΠΎ — ΠΈΠ·ΡΠΌΠΈΠ½ΠΊΠ° ΠΆΠΈΠ·Π½ΠΈ.
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ»ΠΈΡΠΈΠΉ Π² Π½Π°Ρ, ΠΎΡΠ»ΠΈΡΠΈΡ Π΅ΡΡΡ ΠΈ Ρ ΡΠ°ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ , Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΎΡΡΠΎΠ² ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌ ΠΊ ΠΏΠΎΠ΄ΡΠΎΠΏΠ»Π΅Π½ΠΈΡ, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠ΄Π½Π° ΠΈΠ· ΠΏΠΎΡΠΎΠ΄ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΡΠΊΠΎΡΠ° Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π·Π°ΡΡΡ Ρ, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅.Β ΠΡΠ΅ ΡΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π±ΠΈΠΎΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ.
ΠΠΈΠΎΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π² ΠΌΠΈΡΠ΅.Β Π Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ, Π²ΠΈΠ΄ΠΎΠ²ΠΎΠΌ ΠΈ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠΈ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π²ΠΈΠ΄ΠΎΠ², ΡΡΠ΅Π΄ ΠΎΠ±ΠΈΡΠ°Π½ΠΈΡ ΠΈ Π³Π΅Π½ΠΎΠ², ΡΠ΅ΠΌ Π·Π΄ΠΎΡΠΎΠ²Π΅Π΅ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΠΌ Π»ΡΡΡΠ΅ ΠΎΠ½ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΡΡΡΡΡ ΠΊ ΡΠ°ΠΊΠΈΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠΌΠ°ΡΠ°.
ΠΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ, Π±ΠΈΠΎΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅Ρ ΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠ°ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ ΡΠ²ΡΠ·Π°Π½Ρ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.Β ΠΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΡΠ΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ΅Π΄ΠΊΠΎ ΠΎΡΠΎΠ·Π½Π°Π΅ΠΌ. Π£ΡΡΠ°ΡΠ° Π²ΠΈΠ΄Π°, Π±ΡΠ΄Ρ ΡΠΎ ΡΠ°ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΡΠ°ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ. Β
ΠΠΎΡ 7 ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ², ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°ΡΡ:
1. Π‘Π΅Π»ΡΡΠΊΠΎΠ΅ Ρ ΠΎΠ·ΡΠΉΡΡΠ²ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅ ΠΏΠΎΡΠ²Ρ β ΠΠ° ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Ρ ΠΎΠ·ΡΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·Π»Π°Π³Π°ΡΡ Π²ΠΈΠ½Ρ Π·Π° Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ ΠΏΠΎΡΠ²Ρ.Β Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ Π±Π΅ΡΠ΅ΠΆΠ½ΠΎΠ³ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Ρ ΠΎΠ·ΡΠΉΡΡΠ²ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π·Π΄ΠΎΡΠΎΠ²ΡΡ ΠΏΠΎΡΠ².Β ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π΅ΡΠ½ΠΎΠ±ΠΎΠ±ΠΎΠ²ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΠΎΡΠ²Ρ, ΡΡΠΎ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π»ΡΡΡΠ΅ ΡΠ°ΡΡΠΈΒ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°ΡΡΠ΅Π½ΠΈΡΠΌ.Β ΠΠ½Π°Π»ΠΈ Π»ΠΈ Π²Ρ, ΡΡΠΎ Π² ΡΡΠΎΠ»ΠΎΠ²ΠΎΠΉ Π»ΠΎΠΆΠΊΠ΅ ΠΏΠΎΡΠ²Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΆΠΈΠ²ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΡΠ΅ΠΌ Π»ΡΠ΄Π΅ΠΉ Π½Π° ΠΏΠ»Π°Π½Π΅ΡΠ΅? ΠΠ»Ρ ΡΠΎΡΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΡ, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ³Π»Π΅ΡΠΎΠ΄Π° ΠΈΠ· Π²ΠΎΠ·Π΄ΡΡ Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠ±ΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π»Π΅ΠΊΠ°ΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠ°ΠΊ ΠΏΠ΅Π½ΠΈΡΠΈΠ»Π»ΠΈΠ½, Π½ΡΠΆΠ½Ρ Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅ ΠΏΠΎΡΠ²Ρ. Π‘Π΅Π»ΡΡΠΊΠΎΡ ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠΎΡΠ° β ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±ΠΈΠΎΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ. ΠΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ°ΡΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌΠΈ Π½Π°Π·Π΅ΠΌΠ½ΡΠΌΠΈ, ΠΏΡΠ΅ΡΠ½ΠΎΠ²ΠΎΠ΄Π½ΡΠΌΠΈ ΠΈ ΠΌΠΎΡΡΠΊΠΈΠΌΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ Π½Π° ΠΠ΅ΠΌΠ»Π΅, Π±ΡΠ΄Ρ ΡΠΎ Β«Π΄ΠΈΠΊΠΎΠ΅Β» ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π² Π»Π΅ΡΠ½ΠΎΠΌ Ρ ΠΎΠ·ΡΠΉΡΡΠ²Π΅ ΠΈΠ»ΠΈ ΡΡΠ±ΠΎΠ»ΠΎΠ²ΡΡΠ²Π΅ ΠΈΠ»ΠΈ Β«ΠΎΠ΄ΠΎΠΌΠ°ΡΠ½Π΅Π½Π½ΠΎΠ΅Β» Π±ΠΈΠΎΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.Β ΠΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Ρ ΠΎΠ·ΡΠΉΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΈΠΎΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.Β
2. ΠΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠΌΠ°ΡΠ° β Π‘Π΅Π»ΡΡΠΊΠΎΡ ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π±ΠΈΠΎΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ Π΄ΠΈΠΊΠΈΡ ΡΠΎΡΠΎΠ΄ΠΈΡΠ΅ΠΉ ΡΠ΅Π»ΡΡΠΊΠΎΡ ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΡΠ»ΡΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠΌΠ°ΡΠ° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΡ. ΠΡΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π΄Π°Π΅Ρ ΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ Ρ ΠΎΠ·ΡΠΉΡΡΠ²Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΡΡΠ° ΠΊΡΠ»ΡΡΡΡ ΠΈ ΠΏΠΎΡΠΎΠ΄Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΡΠΊΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΡΡΠ΅ Π°Π΄Π°ΠΏΡΠΈΡΡΡΡΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ Π² ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°Ρ ΠΈ ΠΎΡΠ°Π΄ΠΊΠ°Ρ ΠΈ ΠΊ ΡΠΊΡΡΡΠ΅ΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ³ΠΎΠ΄Π½ΡΠΌ ΡΠ²Π»Π΅Π½ΠΈΡΠΌ.Β Π Π½Π°ΡΡ ΡΠΏΠΎΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡΡΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄ΠΎΠ² ΡΠ΅Π»ΡΡΠΊΠΎΡ ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΡΠ»ΡΡΡΡ. ΠΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 400Β 000Β Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π²ΠΈΠ΄ΠΎΠ² ΡΠ°ΡΡΠ΅Π½ΠΈΠΉ 30Β 000Β ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄ΠΎΠ±Π½ΡΠΌΠΈ. ΠΠΎ Π΄ΠΎ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅Π³ΠΎ Π΄Π½Ρ Π² ΠΏΠΈΡΡ ΠΈΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ 6Β 000.Β Π Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅ Π² ΡΠΊΠΎΠ»Ρ-Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠΈΠΌΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π΅ Π²ΡΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ 150Β ΠΊΡΠ»ΡΡΡΡ! Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ ΠΊΡΠ»ΡΡΡΡΡ (ΠΊΡΠΊΡΡΡΠ·Π°, ΠΏΡΠ΅Π½ΠΈΡΠ° ΠΈ ΡΠΈΡ) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΡΡΠΈ 60% Π½Π°ΡΠ΅ΠΉ Π΄Π½Π΅Π²Π½ΠΎΠΉ Π½ΠΎΡΠΌΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π±Π΅Π»ΠΊΠΎΠ² ΠΈ ΠΊΠ°Π»ΠΎΡΠΈΠΉ.Β ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ°ΡΠΈΠΎΠ½ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² Π½Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π»ΡΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠΌΠ°ΡΠ°.
c () Π€ΡΠ½ΠΊΡΠΈΡ Π² R (2 ΠΏΡΠΈΠΌΠ΅ΡΠ°)
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π²Π΅ΠΊΡΠΎΡ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ c () Π² R.
.
ΠΠΎΠ½ΡΠ΅Π½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡβ¦
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ R ΡΡΠ½ΠΊΡΠΈΠΈ c
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: Π€ΡΠ½ΠΊΡΠΈΡ c R ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π²Π΅ΠΊΡΠΎΡ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ R: ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ R Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ c Π½ΠΈΠΆΠ΅.
c (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅1, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅2) # ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ R ΡΡΠ½ΠΊΡΠΈΠΈ c |
c (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅1, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅2) # ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ R ΡΡΠ½ΠΊΡΠΈΠΈ c
ΠΠ°Π»Π΅Π΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ c Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ R.
ΠΡΠΈΠΌΠ΅Ρ 1: ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π²Π΅ΠΊΡΠΎΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ c ()
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1 Ρ ΠΎΠ±ΡΡΡΠ½Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ c Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ Π½ΠΎΠ²ΠΎΠΌΡ Π²Π΅ΠΊΡΠΎΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ c. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΎΠΉ:
x1 <- c (1, 5, 3, 8, 8, 6) # ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ c () |
x1 <- c (1, 5, 3, 8, 8, 6) # ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ c ()
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π°Π½Π½ΡΡ x1:
x1 # ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ # 1 5 3 8 8 6 |
x1 # ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ
# 1 5 3 8 8 6
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ RStudio, Π½Π°Ρ Π½ΠΎΠ²ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ c.
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅Ρ 2 ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΎΠΌΡ Π²Π΅ΠΊΡΠΎΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ R-ΠΊΠΎΠ΄Π΅:
x2 <- c (x1, 5, 7, 1) # ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
x2 <- c (x1, 5, 7, 1) # ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ° x1 ΠΈ Π½ΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ c:
x2 # ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ # 1 5 3 8 8 6 5 7 1 |
x2 # ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ
# 1 5 3 8 8 6 5 7 1
ΠΠΈΠ΄Π΅ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ ΡΠ΅Π·ΡΠΌΠ΅
ΠΠ°ΠΌ Π½ΡΠΆΠ½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅? Π’ΠΎΠ³Π΄Π° ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π½Π° YouTube.Π Π²ΠΈΠ΄Π΅ΠΎ Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΡΠ΅ΠΌΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ:
ΠΠΈΠ΄Π΅ΠΎ Π½Π° YouTube ΡΠΊΠΎΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π½Π° ΡΡΠΎΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π», ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ c Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ R. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΄Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π½ΠΈΠΆΠ΅, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΌΠΎΡ ΡΠ°ΡΡΡΠ»ΠΊΡ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎ Π½ΠΎΠ²ΡΡ ΡΡΠΎΠΊΠ°Ρ .
/ * ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΈΠ»Ρ ΡΠΎΡΠΌΡ MailChimp Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈΠ»ΠΈ Π² ΡΡΠΎΡ Π±Π»ΠΎΠΊ ΡΡΠΈΠ»Π΅ΠΉ.
ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎΡ Π±Π»ΠΎΠΊ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΡΡΠ»ΠΊΡ CSS Π² HEAD Π²Π°ΡΠ΅Π³ΠΎ HTML-ΡΠ°ΠΉΠ»Π°. * /
]]>
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ - ΠΊΠΎΠ΄, Π²ΡΠ²ΠΎΠ΄ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π² Linux
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠ΄ C, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux. ΠΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° C ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° C. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ², Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ).
ΠΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C ΠΏΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ:
1. C ΠΡΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ², Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅ΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°.
2. C ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
Π§ΠΈΡΠ»ΠΎ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ - ΡΡΠΎ ΡΠΈΡΠ»ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠΈΡΠ»Π° ΡΠ°Π²Π½Ρ 1 ΠΈ 1, Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π·Π° Π½ΠΈΠΌ ΡΠΈΡΠ»ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΌΠΌΠΎΠΉ Π΄Π²ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠΈΡΠ΅Π». ΠΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΄ΠΎΠ² Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ N-Π³ΠΎ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
3. C ΠΡΠΈΠΌΠ΅ΡΡ ΠΠΠ ΠΈ ΠΠΠ Π½ΠΎΠΌΠ΅ΡΠΎΠ²
ΠΠΠ Π΄Π²ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» - ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π΅Π»ΠΈΡ Π΄Π²Π° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ»Π° Ρ ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΠΊΠ°ΠΊ 0, Π° ΠΠΠ Π΄Π²ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» - Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΠΈΠΌ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»Π°ΠΌ.Π‘ΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ - ΡΡΠΎ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠ³Π»Ρ ΡΠ΅ΡΠ°, ΠΊ Π΄Π»ΠΈΠ½Π΅ Π³ΠΈΠΏΠΎΡΠ΅Π½ΡΠ·Ρ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΡΠΈΠ½ΡΡΠ° - ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠΈΠΌΡΠΊΠ°ΡΡΠ΅ΠΉ ΠΊ ΡΠ³Π»Ρ ΡΠ΅ΡΠ°, ΠΊ Π΄Π»ΠΈΠ½Π΅ Π³ΠΈΠΏΠΎΡΠ΅Π½ΡΠ·Ρ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ GCD ΠΈ LCM ΠΈΠ· 2 ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ sin (x) ΠΈ cos (x) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
4. C ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ N Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΡΡΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΈΡΠ»Π° Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π²ΡΡΠΈΡΠ»ΡΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΡ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. Π‘ΡΠ΅Π΄Π½Π΅Π΅ - ΡΡΠΎ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠΈΡΠ΅Π», ΠΠΈΡΠΏΠ΅ΡΡΠΈΡ - ΡΡΠΎ ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ² ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ ΠΎΡ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ, Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ - ΡΡΠΎ ΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π±ΡΠΎΡΠ°Π½Ρ ΡΠΈΡΠ»Π°.
5. C ΠΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° ΡΠΈΡΠ»Π°
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π½Π° ΡΠ°ΠΌΠΎ ΡΠΈΡΠ»ΠΎ Π΄Π°Π΅Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΈΡΠ»Π°. Π€Π°ΠΊΡΠΎΡΠΈΠ°Π» - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ΄ Π½ΠΈΠΌ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΈ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ.
6. C ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΄Π°
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ - ΡΡΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π». Π‘ΡΠΌΠΌΠ° ΡΠ»Π΅Π½ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠΈΠ΅ΠΉ.ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠΌΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΄Π°. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠΌΠΌΡ ΡΠ΅ΡΠΈΠΈ A.P, ΡΠ΅ΡΠΈΠΈ G.P ΠΈ ΡΠ΅ΡΠΈΠΈ H.P. Π§ΠΈΡΠ»ΠΎΠ²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½Π°, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ΅ΠΉ, Π° ΡΡΠΌΠΌΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΡΠΈΠ΅ΠΉ. Π§ΠΈΡΠ»ΠΎΠ²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ΅ΠΉ, Π° ΡΡΠΌΠΌΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.ΠΠ°ΡΠΌΠΎΠ½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΡ - ΡΡΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π°, ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠΈ.
7. C ΠΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΠΊΡΡΠ³Π°, ΡΡΠ°ΠΏΠ΅ΡΠΈΠΈ, ΡΠΎΠΌΠ±Π° ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Π’ΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ 3-Ρ Π½Π΅ΠΊΠΎΠ»Π»ΠΈΠ½Π΅Π°ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ. ΠΡΡΠ³ - ΡΡΠΎ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ, ΡΠ°Π²Π½ΠΎΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΎΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. Π’ΡΠ°ΠΏΠ΅ΡΠΈΡ - ΡΡΠΎ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ΄Π½Π° ΠΏΠ°ΡΠ° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½. Π ΠΎΠΌΠ± - ΡΡΠΎ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Ρ ΡΠ΅ΡΡΡΡΠΌΡ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°Π²Π½Ρ.ΠΠ°ΡΠ°Π»Π»Π΅Π»ΠΎΠ³ΡΠ°ΠΌΠΌ - ΡΡΠΎ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄Π²Π΅ ΠΏΠ°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½.
8. C ΠΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΈ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΈ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΠΊΡΠ±Π°, ΡΠΈΠ»ΠΈΠ½Π΄ΡΠ°, ΠΊΡΠ±ΠΎΠΈΠ΄Π°, ΠΊΠΎΠ½ΡΡΠ° ΠΈ ΡΡΠ΅ΡΡ. ΠΡΠ± - ΡΡΠΎ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ 6 ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ. Π¦ΠΈΠ»ΠΈΠ½Π΄Ρ - ΡΡΠΎ ΡΠ²Π΅ΡΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π²ΡΠΌΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΏΠ»ΠΎΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠ°ΠΌΠΈ, ΠΊΡΡΠ³Π»ΡΠΌΠΈ ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ·ΠΎΠ³Π½ΡΡΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ. ΠΡΠ±ΠΎΠΈΠ΄ - ΡΡΠΎ ΡΠ²Π΅ΡΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΠΎΡΠΌΠ΅ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ΅ΡΡΡ ΠΏΠ»ΠΎΡΠΊΠΈΡ ΡΡΠΎΡΠΎΠ½.ΠΠΎΠ½ΡΡ - ΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. Π‘ΡΠ΅ΡΠ° - ΡΡΠΎ ΠΊΡΡΠ³Π»Π°Ρ ΡΠΈΠ³ΡΡΠ°, ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π²Π½ΠΎΡΠ΄Π°Π»Π΅Π½Π° ΠΎΡ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ.
9. C ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π€Π»ΠΎΠΉΠ΄Π° ΠΈ ΠΠ°ΡΠΊΠ°Π»Ρ
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ Π€Π»ΠΎΠΉΠ΄Π°. Π’ΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΠ°ΡΠΊΠ°Π»Ρ - ΡΡΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΡΠΈΡΠ΅Π», ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ - ΡΡΠΎ Π΄Π²Π° ΡΠΈΡΠ»Π° Π½Π°Π΄ Π½ΠΈΠΌ, ΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π€Π»ΠΎΠΉΠ΄Π° ΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΠ°ΡΠΊΠ°Π»Ρ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ - ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠΉΠ² ΠΡΠ°ΡΠ½ΡΠ²Π΅ΠΉΠ³
ΠΠ±Π·ΠΎΡ
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π° ΠΈ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°Β» ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π³Π»Π°Π²Ρ, Π° Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GetFahrenheit, CalculateCelsius ΠΈ DisplayResult ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ.ΠΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π²Π²ΠΎΠ΄), Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π²ΡΠ²ΠΎΠ΄). ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ .
Π€ΡΠ½ΠΊΡΠΈΡ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π²Π²ΠΎΠ΄) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π²ΡΠ²ΠΎΠ΄) |
---|---|---|---|
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ | ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° | Π½Π΅Ρ | Π½Π΅Ρ |
GetFahrenheit | Π²Ρ ΠΎΠ΄ | Π½Π΅Ρ | ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ |
ΠΡΡΠΈΡΠ»ΠΈΡΡ ΠΏΠΎ Π¦Π΅Π»ΡΡΠΈΡ | ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° | ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ | ΠΏΠΎ Π¦Π΅Π»ΡΡΠΈΡ |
DisplayResult | Π²ΡΡ ΠΎΠ΄ | ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ, ΠΏΠΎ Π¦Π΅Π»ΡΡΠΈΡ | Π½Π΅Ρ |
ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ... ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ, ... ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π² Π³ΡΠ°Π΄ΡΡΡ Π¦Π΅Π»ΡΡΠΈΡ, ... ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΠ±ΡΡΠ²ΠΈΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡ ΠΠ±ΡΡΠ²ΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΡΡ Π¦Π΅Π»ΡΡΠΈΡ ΠΡΠΈΡΠ²ΠΎΠΉΡΠ΅ fahrenheit = GetFahrenheit () ΠΠ°Π·Π½Π°ΡΠΈΡΡ Π¦Π΅Π»ΡΡΠΈΠΉ = ΠΡΡΠΈΡΠ»ΠΈΡΡ Π¦Π΅Π»ΡΡΠΈΠΉ (Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡ) ΠΡΠ·ΠΎΠ² DisplayResult (ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ, Π¦Π΅Π»ΡΡΠΈΡ) ΠΠΎΠ½Π΅Ρ Π€ΡΠ½ΠΊΡΠΈΡ GetFahrenheit ΠΠ±ΡΡΠ²ΠΈΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡ ΠΡΡ ΠΎΠ΄ "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ:" ΠΠ²ΠΎΠ΄ ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ ΠΠ΅ΡΠ½ΡΡΡ Π Π΅Π°Π»ΡΠ½ΡΠΉ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡ Π€ΡΠ½ΠΊΡΠΈΡ CalculateCelsius (Π Π΅Π°Π»ΡΠ½ΡΠΉ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡ) ΠΠ±ΡΡΠ²ΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΡΡ Π¦Π΅Π»ΡΡΠΈΡ ΠΠ°Π·Π½Π°ΡΡΡΠ΅ Π³ΡΠ°Π΄ΡΡ Π¦Π΅Π»ΡΡΠΈΡ = (Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡ - 32) * 5/9 ΠΠ΅ΡΠ½ΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΡΡ Π¦Π΅Π»ΡΡΠΈΡ Π€ΡΠ½ΠΊΡΠΈΡ DisplayResult (Π Π΅Π°Π»ΡΠ½ΡΠΉ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡ, Π Π΅Π°Π»ΡΠ½ΡΠΉ Π¦Π΅Π»ΡΡΠΈΠΉ) ΠΡΠ²ΠΎΠ΄ ΠΏΠΎ ΡΠΊΠ°Π»Π΅ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΠ° ΠΈ "Β° Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΠ°" ΠΈ "Π¦Π΅Π»ΡΡΠΈΡ" ΠΈ "Β° Π¦Π΅Π»ΡΡΠΈΡ" ΠΠΎΠ½Π΅Ρ
ΠΡΡ ΠΎΠ΄
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ: 100 100 Β° ΠΏΠΎ Π€Π°ΡΠ΅Π½Π³Π΅ΠΉΡΡ - 37.7777777777778 Β° Π¦Π΅Π»ΡΡΠΈΡ
ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ°
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
std :: function - cppreference.com
ΡΠ°Π±Π»ΠΎΠ½ <ΠΊΠ»Π°ΡΡ> | (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C ++ 11) | |
ΡΠ°Π±Π»ΠΎΠ½ <ΠΊΠ»Π°ΡΡ R, ΠΊΠ»Π°ΡΡ ... Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ> | (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C ++ 11) | |
Π¨Π°Π±Π»ΠΎΠ½ ΠΊΠ»Π°ΡΡΠ° std :: function
- ΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ std :: function
ΠΌΠΎΠ³ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΡΠ΅Π»Ρ CopyConstructible Callable - ΡΡΠ½ΠΊΡΠΈΠΈ, Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ
.
Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π»ΡΡ ΠΈΠ· std :: function
. ΠΡΠ»ΠΈ std :: function
Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π»ΠΈ, ΠΎΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ . ΠΡΠ·ΠΎΠ² ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΏΡΡΡΠΎΠΉ std :: function
ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ std :: bad_function_call.
std :: function
ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ CopyConstructible ΠΈ CopyAssignable.
[ΠΏΡΠ°Π²ΠΈΡΡ] Π’ΠΈΠΏΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π’ΠΈΠΏ | ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ |
result_type | R |
ΡΠΈΠΏ_ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° (Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π² C ++ 17) (ΡΠ΄Π°Π»Π΅Π½ΠΎ Π² C ++ 20) | T , Π΅ΡΠ»ΠΈ sizeof ... (Args) == 1 ΠΈ T - ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π² Args... |
first_argument_type (Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π² C ++ 17) (ΡΠ΄Π°Π»Π΅Π½ΠΎ Π² C ++ 20) | T1 if sizeof ... (Args) == 2 ΠΈ T1 - ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ· Π΄Π²ΡΡ
ΡΠΈΠΏΠΎΠ² Π² Args ... |
second_argument_type (Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π² C ++ 17) (ΡΠ΄Π°Π»Π΅Π½ΠΎ Π² C ++ 20) | T2 if sizeof ... (Args) == 2 ΠΈ T2 - Π²ΡΠΎΡΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ
ΡΠΈΠΏΠΎΠ² Π² Args ... |
[ΠΏΡΠ°Π²ΠΈΡΡ] Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ
[ΠΏΡΠ°Π²ΠΈΡΡ] Π€ΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ
[ΠΏΡΠ°Π²ΠΈΡΡ] Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ Π²ΡΠ²ΠΎΠ΄Π°ΠΌ (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C ++ 17)
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΡΠ²Π»ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ, ΠΊΠΎΠ³Π΄Π° std :: function
, ΡΠΈΠΏ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΈΠ· Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄, ΡΠ°ΠΊΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ prvalue. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ°Ρ ΡΡΡΠ»ΠΊΠ° ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° std :: function :: operator () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ
.
std :: functionF ([] {return 42;}); int x = F (); // ΠΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅: ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ F () ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Ρ ΡΡΡΠ»ΠΊΠ°
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΡΠΈΠΌΠ΅Ρ
#include <ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ> #includestruct Foo { Foo (ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ): ΡΠΈΡΠ»ΠΎ_ (ΡΠΈΡΠ»ΠΎ) {} void print_add (int i) const {std :: cout << num_ + i << '\ n'; } int num_; }; void print_num (ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ) { std :: cout << i << '\ n'; } struct PrintNum { ΠΠΏΠ΅ΡΠ°ΡΠΎΡ void () (int i) const { std :: cout << i << '\ n'; } }; int main () { // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ std :: function f_display = print_num; f_display (-9); // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π»ΡΠΌΠ±Π΄Ρ std :: function f_display_42 = [] () {print_num (42); }; f_display_42 (); // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π° std :: bind std :: function f_display_31337 = std :: bind (print_num, 31337); f_display_31337 (); // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° std :: function f_add_display = & Foo :: print_add; const Foo foo (314159); f_add_display (foo, 1); f_add_display (314159, 1); // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Ρ Π΄Π°Π½Π½ΡΡ std :: function f_num = & Foo :: num_; std :: cout << "ΡΠΈΡΠ»ΠΎ_:" << f_num (foo) << '\ n'; // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ std :: placeholder :: _ 1; std :: function f_add_display2 = std :: bind (& Foo :: print_add, foo, _1); f_add_display2 (2); // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ptr std :: function f_add_display3 = std :: bind (& Foo :: print_add, & foo, _1); f_add_display3 (3); // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ std :: function f_display_obj = PrintNum (); f_display_obj (18); auto factorial = [] (int n) { // ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π»ΡΠΌΠ±Π΄Π°-ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΈ Β«ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ Π»ΡΠΌΠ±Π΄ΡΒ»; ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄Π°Ρ std :: function fac = [&] (int n) {return (n <2)? 1: n * fac (n-1); }; // ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ "auto fac = [&] (int n) {...}; "Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ return fac (n); }; for (int i {5}; i! = 8; ++ i) {std :: cout << i << "! =" << factorial (i) << ";"; } }
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄:
-9 42 31337 314160 314160 Π½ΠΎΠΌΠ΅Ρ_: 314159 314161 314162 18 5! = 120; 6! = 720; 7! = 5040;
[ΠΏΡΠ°Π²ΠΈΡΡ] Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΡΡΠΎΠ³ΠΎ std :: function (class) [ΠΏΡΠ°Π²ΠΈΡΡ] | |
ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»Π΅Π½ (ΡΠ°Π±Π»ΠΎΠ½ ΡΡΠ½ΠΊΡΠΈΠΈ) [ΠΏΡΠ°Π²ΠΈΡΡ] |
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Python - ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°
ΠΠ° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠΎΡΠ°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° .ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ Π² Python.
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Python, Π²Ρ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ print ()
Π² Π²Π°ΡΠ΅ΠΌ Hello World! ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
π ΠΈ ΡΡΠ½ΠΊΡΠΈΡ input ()
Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π Python Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Python
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΎΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python:
def ΠΈΠΌΡ_ΡΡΠ½ΠΊΡΠΈΠΈ (Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ):
# Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
# Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π·Π΄Π΅ΡΡ
return result # ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
- ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ
def
, Π΄Π°ΡΡ Π²Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΡ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ°ΡΠ° ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ, ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ (:). - ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΈΠΌΠ΅Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΡ ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΡ ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ.
- ΠΠ°ΡΠ΅ΠΌ Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ Π±Π»ΠΎΠΊ Ρ ΠΎΡΡΡΡΠΏΠΎΠΌ. ΠΡΠΎ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ.
- ΠΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
return
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡreturn
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ·Π²Π°Π½Π°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ,
ΠΈ return
Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ.ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² , Π° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ . π
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡΡ Π½Π° ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Python
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Python, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
def my_func ():
print ("ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! ΠΠ°Π΄Π΅ΡΡΡ, Ρ Π²Π°Ρ Π²ΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ")
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠ½ΠΊΡΠΈΡ my_func ()
:
- Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²,
- Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, Π°
- Π²ΡΠ²ΠΎΠ΄ΠΈΡ
Β«ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! ΠΠ°Π΄Π΅ΡΡΡ, Ρ Π²Π°Ρ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎΒ»
Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ .
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½Π΅ΡΡΠ½ΠΎ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π° ΠΈΠ»ΠΈ Π²ΡΠ·Π²Π°Π½Π°. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ my_func ()
ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π²ΡΠ²ΠΎΠ΄.
my_func ()
# ΠΡΡ
ΠΎΠ΄
ΠΡΠΈΠ²Π΅Ρ! ΠΠ°Π΄Π΅ΡΡΡ, Ρ Π²Π°Ρ Π²ΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² Python
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ my_func ()
, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠΌΡ
ΠΈ ΠΌΠ΅ΡΡΠΎ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
def my_func (ΠΈΠΌΡ, ΠΌΠ΅ΡΡΠΎ):
print (f "ΠΡΠΈΠ²Π΅Ρ, {ΠΈΠΌΡ}! ΠΡ ΠΈΠ· {ΠΌΠ΅ΡΡΠΎ}?")
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ my_func ()
, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ
ΠΈ ΠΌΠ΅ΡΡΠΎ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
my_func (Β«ΠΠΆΠ΅ΠΉΠ½Β», Β«ΠΠ°ΡΠΈΠΆΒ»)
# ΠΡΡ
ΠΎΠ΄
ΠΡΠΈΠ²Π΅Ρ, ΠΠΆΠ΅ΠΉΠ½! ΠΡ ΠΈΠ· ΠΠ°ΡΠΈΠΆΠ°?
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΡΠΎ
, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΡ
? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ.
my_func (Β«ΠΠ°Π²Π°ΠΉΠΈΒ», Β«Π ΠΎΠ±Π΅ΡΡΒ»)
# ΠΡΡ
ΠΎΠ΄
ΠΡΠΈΠ²Π΅Ρ, ΠΠ°Π²Π°ΠΉΠΈ! ΠΡ ΠΎΡ Π ΠΎΠ±Π΅ΡΡΠ°?
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΡΠΈΠ²Π΅Ρ, ΠΠ°Π²Π°ΠΉΠΈ! ΠΡ ΠΎΡ Π ΠΎΠ±Π΅ΡΡΠ°?
- ΠΈ ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°. π Π§ΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
ΠΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² .ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ( ΠΈΠΌΡ
), Π° Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ( ΠΌΠ΅ΡΡΠΎ
)
Π‘ΠΌ. Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΌΡ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
my_func (place = "Hawaii", name = "Robert")
# ΠΡΡ
ΠΎΠ΄
ΠΡΠΈΠ²Π΅Ρ, Π ΠΎΠ±Π΅ΡΡ! ΠΡ Ρ ΠΠ°Π²Π°ΠΉΠ΅Π²?
ΠΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° . ΠΠΎΡΡΠ΄ΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²Π΅ΡΠ½Ρ.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Python
Π§ΡΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ?
ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°?
ΠΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΡΡΡΠ΅, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
! π
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ total_calc ()
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΡΡ ΡΡΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ Π² ΡΠ΅ΡΡΠΎΡΠ°Π½Π΅.Π£ΡΠΈΡΡΠ²Π°Ρ bill_amount
ΠΈ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΎΡ bill_amount
, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π΄Π»Ρ ΠΎΠΏΠ»Π°ΡΡ ΡΠ°Π΅Π²ΡΡ
( tip_perc
), ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΎΠ±ΡΡΡ ΡΡΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° tip_perc
, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠ°Π΅Π²ΡΡ
.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°. Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π³ΠΎΡΠΎΠ²Π°!
def total_calc (bill_amount, tip_perc = 10):
total = bill_amount * (1 + 0.01 * tip_perc)
total = round (ΠΈΡΠΎΠ³, 2)
print (f "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°ΠΏΠ»Π°ΡΠΈΡΠ΅ {total}")
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ
total_calc
ΡΠΎΠ»ΡΠΊΠΎ Ρbill_amount
, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠ°Π΅Π²ΡΡ , ΡΠ°Π²Π½ΡΠΉ 10. - ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠ°Π΅Π²ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠ°Π΅Π²ΡΡ , ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
# ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ bill_amount
# ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΡΠ°Π΅Π²ΡΡ
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
total_calc (150)
# ΠΡΡ
ΠΎΠ΄
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°ΠΏΠ»Π°ΡΠΈΡΠ΅ 165 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ².0
# ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈ bill_amount, ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠ°Π΅Π²ΡΡ
# ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠ°Π΅Π²ΡΡ
, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ
total_calc (200,15)
# ΠΡΡ
ΠΎΠ΄
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°ΠΏΠ»Π°ΡΠΈΡΠ΅ $ 230.0
total_calc (167,7.5)
# ΠΡΡ
ΠΎΠ΄
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°ΠΏΠ»Π°ΡΠΈΡΠ΅ $ 179,53
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Python
ΠΠΎ ΡΠΈΡ
ΠΏΠΎΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΊΡΠ±ΠΎΠΈΠ΄Π° Ρ ΡΡΠ΅ΡΠΎΠΌ Π΄Π»ΠΈΠ½Ρ
, ΡΠΈΡΠΈΠ½Ρ
ΠΈ Π²ΡΡΠΎΡΡ
.
def volume_of_cuboid (Π΄Π»ΠΈΠ½Π°, ΡΠΈΡΠΈΠ½Π°, Π²ΡΡΠΎΡΠ°):
ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° * ΡΠΈΡΠΈΠ½Π° * Π²ΡΡΠΎΡΠ°
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ return
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ , Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ volume_of_cuboid ()
Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ volume
Π΄Π»Ρ Π·Π°Ρ
Π²Π°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
ΠΎΠ±ΡΠ΅ΠΌ = ΠΎΠ±ΡΠ΅ΠΌ_ΠΊΡΠ±ΠΎΠΈΠ΄Π° (5.5,20,6)
print (f "ΠΠ±ΡΠ΅ΠΌ ΠΊΡΠ±ΠΎΠΈΠ΄Π° ΡΠ°Π²Π΅Π½ {volume} ΠΊΡΠ±. Π΅Π΄ΠΈΠ½ΠΈΡ")
# ΠΡΡ
ΠΎΠ΄
ΠΠ±ΡΠ΅ΠΌ ΠΊΡΠ±ΠΎΠΈΠ΄Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 660,0 ΠΊΡΠ±ΠΈΡΠ΅ΡΠΊΠΈΡ
Π΅Π΄ΠΈΠ½ΠΈΡ. ΠΠ°Π±Π°ΡΠΈΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅ΡΠ½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. - Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Ρ, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ.
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡΡΠ΅ΠΆΠ°. ΠΡΠ»ΠΈ Π΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
N
, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΆ N-
.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ cube ()
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠΈ ΠΊΡΠ±Π° Ρ ΡΡΠ΅ΡΠΎΠΌ Π΄Π»ΠΈΠ½Ρ Π΅Π³ΠΎ ΡΡΠΎΡΠΎΠ½Ρ.
def cube (ΡΠ±ΠΎΠΊΡ):
ΠΎΠ±ΡΠ΅ΠΌ = ΡΡΠΎΡΠΎΠ½Π° ** 3
surface_area = 6 * (ΡΡΠΎΡΠΎΠ½Π° ** 2)
return volume, surface_area
Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ±Π΅ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Return_values ββ
, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
Return_values ββ= cube (8)
ΠΏΠ΅ΡΠ°ΡΡ (Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΡ)
# ΠΡΡ
ΠΎΠ΄
(512, 384)
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠ°ΡΠΏΠ°ΠΊΡΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄Π²ΡΡ
ΡΠ°Π·Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
ΠΎΠ±ΡΠ΅ΠΌ, ΠΏΠ»ΠΎΡΠ°Π΄Ρ = ΠΊΡΠ± (6.5)
print (f "ΠΠ±ΡΠ΅ΠΌ ΠΊΡΠ±Π° ΡΠ°Π²Π΅Π½ {volume} ΠΊΡΠ±ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌ, Π° ΠΎΠ±ΡΠ°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠΈ ΡΠ°Π²Π½Π° {area} sq. units")
# ΠΡΡ
ΠΎΠ΄Ρ
ΠΠ±ΡΠ΅ΠΌ ΠΊΡΠ±Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 274,625 ΠΊΡΠ±ΠΈΡΠ΅ΡΠΊΠΈΡ
Π΅Π΄ΠΈΠ½ΠΈΡ, Π° ΠΎΠ±ΡΠ°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 253,5 ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ
Π΅Π΄ΠΈΠ½ΠΈΡΡ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² Python
ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ²:
- Π§ΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²?
- ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²?
ΠΡΠ²Π΅Ρ - Π΄Π°! Π ΠΌΡ ΡΡΠ°Π·Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΊΡΡ ββΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ my_var_sum ()
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ
ΡΠΈΡΠ΅Π», ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ * args
, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. Π ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°
, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ my_var_sum
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ
ΡΠΈΡΠ΅Π», ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
def my_var_sum (* args):
ΡΡΠΌΠΌΠ° = 0
Π΄Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ
:
ΡΡΠΌΠΌΠ° + = Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
return sum
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ my_var_sum ()
ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Ρ ΡΠ°Π·Π½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
ΠΎΡΠ²Π΅ΡΠΎΠ²! π
# ΠΡΠΈΠΌΠ΅Ρ 1 Ρ 4 ΡΠΈΡΠ»Π°ΠΌΠΈ
ΡΡΠΌΠΌΠ° = my_var_sum (99,10,54,23)
print (f "Π§ΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ Π²Π°Ρ Π΅ΡΡΡ Π² ΡΡΠΌΠΌΠ΅ Π΄ΠΎ {sum}")
# ΠΡΡ
ΠΎΠ΄
Π‘ΡΠΌΠΌΠ° Π²Π°ΡΠΈΡ
ΡΠΈΡΠ΅Π» ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 186.
# ΠΡΠΈΠΌΠ΅Ρ 2 Ρ 3 ΡΠΈΡΠ»Π°ΠΌΠΈ
ΡΡΠΌΠΌΠ° = my_var_sum (9,87,45)
print (f "Π§ΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ Π²Π°Ρ Π΅ΡΡΡ Π² ΡΡΠΌΠΌΠ΅ Π΄ΠΎ {sum}")
# ΠΡΡ
ΠΎΠ΄
Π‘ΡΠΌΠΌΠ° ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π²Π°Ρ Π΅ΡΡΡ, Π΄Π°Π΅Ρ 141.
# ΠΡΠΈΠΌΠ΅Ρ 3 Ρ 6 ΡΠΈΡΡΠ°ΠΌΠΈ
ΡΡΠΌΠΌΠ° = my_var_sum (5,21,36,79,45,65)
print (f "Π§ΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ Π²Π°Ρ Π΅ΡΡΡ Π² ΡΡΠΌΠΌΠ΅ Π΄ΠΎ {sum}")
# ΠΡΡ
ΠΎΠ΄
Π‘ΡΠΌΠΌΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
Π²Π°ΠΌΠΈ ΡΠΈΡΠ΅Π» Π΄Π°Π΅Ρ 251
β ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ.Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ:
- ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ,
- ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ,
- ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ
- ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°Π΄Π΅ΡΡΡ, Π²Π°ΠΌ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ°Π·Π°! π
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°
- OCaml
OCaml ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ,
Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«toploopΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ OCaml ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ
Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΡΠΈΡΡ ΡΠ·ΡΠΊ ΠΈ Π±ΡΡΡΡΠΎ
ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Ρ ΠΈΠ΄Π΅ΡΠΌΠΈ. ΠΠΈΠΆΠ΅ ΠΌΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΡ
Π½Π΅ΠΉ ΠΏΠ΅ΡΠ»ΠΈ Π΄Π»Ρ
ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅. ΠΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅, Π±ΡΠ΄Π΅Ρ
Β« β
Β». ΠΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° Β« ;;
β(ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π°
ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΠΎ Π²Π²ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ΅Π½Π΅Π½ ΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅
ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° OCaml). ΠΡΠ²ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²
ΡΡΠΎΡ ΡΠ²Π΅Ρ
.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ°ΠΉΡΠ°Ρ
:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°.
ΠΠ°ΡΠ΅ΠΌ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π°
ΡΠ·ΡΠΊΠΎΠ², OCaml ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ, Π½ΠΎ Π½Π΅ Π΄Π»Ρ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
# let square x = x * x ;;
val ΠΊΠ²Π°Π΄ΡΠ°Ρ: int -> int =
# ΠΊΠ²Π°Π΄ΡΠ°Ρ 3 ;;
-: int = 9
# let rec fact x =
Π΅ΡΠ»ΠΈ x <= 1, ΡΠΎ 1 else x * fact (x - 1) ;;
val ΡΠ°ΠΊΡ: int -> int =
# ΡΠ°ΠΊΡ 5 ;;
-: int = 120
# ΠΊΠ²Π°Π΄ΡΠ°Ρ 120 ;;
-: int = 14400
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ
ΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅.ΠΠ»Ρ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ.
Π‘ΠΏΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² OCaml. ΠΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ []
. Π
ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊ ΡΠΏΠΈΡΠΊΡ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ::
(Π² ΠΈΠ½ΡΠΈΠΊΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅).
# let li = 1 :: 2 :: 3 :: [] ;;
val li: int list = [1; 2; 3]
# [1; 2; 3] ;;
-: int list = [1; 2; 3]
# 5 :: li ;;
-: int list = [5; 1; 2; 3]
Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°
ΠΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΊΠ°ΠΊ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ sigma
, ΠΊΠΎΡΠΎΡΠ°Ρ
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΌΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ f
ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ
ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ°:
# let rec sigma f = function
| [] -> 0
| x :: l -> f x + sigma f l ;;
val sigma: ('a -> int) ->' ΡΠΏΠΈΡΠΎΠΊ -> int =
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ fun
ΠΈΠ»ΠΈ
ΠΏΠΎΡΡΡΠΎΠΈΡΡ:
# ΡΠΈΠ³ΠΌΠ° (ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ x -> x * x) [1; 2; 3] ;;
-: int = 14
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
ΡΠΎΡΡΠ°Π² Π² ΡΠ°ΠΌΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
# let compose f g = fun x -> f (g x) ;;
val compose: ('a ->' b) -> ('c ->' a) -> 'c ->' b =
# let square_o_fact = ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΊΡ ;;
val square_o_fact: int -> int =
# square_o_fact 5 ;;
-: int = 14400
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ: ΡΠΏΠΈΡΠΊΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ
ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
# let rec sort = function
| [] -> []
| x :: l -> insert x (ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° l)
ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ elem = function
| [] -> [ΡΠ»Π΅ΠΌ]
| x :: l -> Π΅ΡΠ»ΠΈ elem val sort: 'ΡΠΏΠΈΡΠΎΠΊ ->' ΡΠΏΠΈΡΠΎΠΊ = <Π²Π΅ΡΠ΅Π»ΡΠ΅>
val insert: 'a ->' a list -> 'a list =
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ: ΡΡΠΎ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° 'a
.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, sort
ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ
ΠΊ ΡΠΏΠΈΡΠΊΡ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» ΠΈ ΠΊ ΡΠΏΠΈΡΠΊΡ ΡΡΡΠΎΠΊ.
# sort [2; 1; 0] ;;
-: int list = [0; 1; 2]
# sort ["Π΄Π°"; "Ok"; "ΠΠΎΠ½Π΅ΡΠ½ΠΎ"; "Ρ"; "ΠΠ³Π°"];;
-: ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ = ["ΠΎΠΊ"; "ΠΠΎΠ½Π΅ΡΠ½ΠΎ"; "Ρ"; "ΠΠ³Π°"; "Π΄Π°"]
ΠΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
ΠΠ°ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ². ΠΠ°ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ
ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π΄Π²Π° ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°, ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ
ΠΏΡΠΎΡΠ΅Π·ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π²ΡΡ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ
Π΄Π»Ρ
ΠΏΠ΅ΡΠ΅Π»Ρ.
# let add_polynom p1 p2 =
ΠΏΡΡΡΡ n1 = Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΡΠΈΠ²Π° p1
ΠΈ n2 = Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΡΠΈΠ²Π° p2 Π²
let result = Array.make (max n1 n2) 0 Π²
Π΄Π»Ρ i = 0 Π΄ΠΎ n1 - 1 ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. (i) <- p1. (i) done;
Π΄Π»Ρ i = ΠΎΡ 0 Π΄ΠΎ n2 - 1 ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. (i) <- ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. (i) + p2. (i) done;
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ;;
val add_polynom: ΠΌΠ°ΡΡΠΈΠ² int -> ΠΌΠ°ΡΡΠΈΠ² int -> ΠΌΠ°ΡΡΠΈΠ² int =
# add_polynom [| 1; 2 |] [| 1; 2; 3 |] ;;
-: ΠΌΠ°ΡΡΠΈΠ² int = [| 2; 4; 3 |]
OCaml ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ : ref init
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ ΡΡΠ΅ΠΉΠΊΡ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ init
, ! ΡΡΠ΅ΠΉΠΊΠ°
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ
ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ
ΠΈ ΡΡΠ΅ΠΉΠΊΠΈ : = v
Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ v
Π²
ΡΡΠ΅ΠΉΠΊΠ°
.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΊΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠ»ΠΎΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΊΡ ΠΈ Π΄Π»Ρ ΡΠΈΠΊΠ»Π°
:
# let fact n =
ΠΏΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = ΡΡΡΠ»ΠΊΠ° 1 Π²
Π΄Π»Ρ i = ΠΎΡ 2 Π΄ΠΎ n ΡΠ΄Π΅Π»Π°ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ: = i *! ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
ΡΠ΄Π΅Π»Π°Π½ΠΎ;
!ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ;;
val ΡΠ°ΠΊΡ: int -> int =
# ΡΠ°ΠΊΡ 5 ;;
-: int = 120
Π‘ΠΈΠ»Π° ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΌ power
ΡΡΠ½ΠΊΡΠΈΡ:
# let rec power f n =
Π΅ΡΠ»ΠΈ n = 0, ΡΠΎ fun x -> x
ΠΈΠ½Π°ΡΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΡΡ f (power f (n - 1)) ;;
val ΠΌΠΎΡΠ½ΠΎΡΡΡ: ('a ->' a) -> int -> 'a ->' a =
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ n
-Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½Π° ΠΊΠ°ΠΊ Π²
ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΠΏΡΡΠ΅ΠΌ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎ n
th
ΠΌΠΎΡΠ½ΠΎΡΡΡ:
# let ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ dx f = fun x -> (f (x +.dx) -. f x) /. dx ;;
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ val: float -> (float -> float) -> float -> float =
# let sin '' '= power (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ 1e-5) 3 sin ;;
val sin '' ': float -> float = <Π²Π΅ΡΠ΅Π»ΡΠ΅>
# ΠΏΡΡΡΡ pi = 4.0 *. atan 1.0 in sin '' 'pi ;;
-: float = 0,999998972517346263
Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π»,
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ,
ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ. Π’Π°ΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
# type expression =
| Π§ΠΈΡΠ»ΠΎ ΡΠ΅Π»ΡΡ
| ΠΠ°ΡΠΈΠ°Π½Ρ ΡΡΡΠΎΠΊΠΈ
| ΠΡΡΡΡ ΡΡΡΠΎΠΊΠ° * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
| Binop ΡΡΡΠΎΠΊΠΈ * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ;;
ΡΠΈΠΏ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ =
Π§ΠΈΡΠ»ΠΎ ΡΠ΅Π»ΡΡ
| ΠΠ°ΡΠΈΠ°Π½Ρ ΡΡΡΠΎΠΊΠΈ
| ΠΡΡΡΡ ΡΡΡΠΎΠΊΠ° * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
| Binop ΡΡΡΠΎΠΊΠΈ * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ * Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠ΅Π½ΠΊΠ° ΡΡΠΈΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°Ρ.
# let rec eval env = function
| Num i -> i
| Var x -> List. op) ;;
val eval: (ΡΡΡΠΎΠΊΠ° * int) ΡΠΏΠΈΡΠΎΠΊ -> Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ -> int =
val eval_op: ΡΡΡΠΎΠΊΠ° -> int -> int -> int =
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΡΠ΅Π½ΠΈΠΌ ΡΡΠ°Π·Ρ let x = 1 Π² x + x
:
# eval [] (Let ("x", Num 1, Binop ("+", Var "x", Var "x"))) ;;
-: int = 2
Π‘ΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ
data, Π΄Π°Π²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅
ΡΠΎΡΠΌΡ.Π ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΡΡ
ΠΎΠ΄ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ
eval
ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ°
.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ°
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ»Π΅ΠΆΠΊΠΈ Π·Π° ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ:
let rec fib x = if x <= 1 then 1 else fib (x - 1) + fib (x - 2) ;;
# #trace fib ;; Π‘Π΅ΠΉΡΠ°Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ
fib.
# fib 3 ;;
fib <- 3
fib <- 1
ΡΠΈΠ± -> 1
fib <- 2
fib <- 0
ΡΠΈΠ± -> 1
fib <- 1
ΡΠΈΠ± -> 1
ΡΠΈΠ± -> 2
ΡΠΈΠ± -> 3
-: int = 3
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈΠ»ΠΈ
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ².
ΡΡΠ½ΠΊΡΠΈΠΉ Python (Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ)
Python Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅ΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅Π»ΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅Π΅. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Python.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΡ - ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ def
. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
def ΠΈΠΌΡ_ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ):
"" "ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ" ""
Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅1
Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅2
...
...
Π²ΠΎΠ·Π²ΡΠ°Ρ [Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅]
ΠΠ° ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ def
ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ.ΠΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΠΊΡΡΠ³Π»ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ. Π‘ΠΈΠΌΠ²ΠΎΠ» :
ΠΏΠΎΡΠ»Π΅ ΠΊΡΡΠ³Π»ΡΡ
ΡΠΊΠΎΠ±ΠΎΠΊ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π±Π»ΠΎΠΊ Ρ ΠΎΡΡΡΡΠΏΠΎΠΌ.
ΠΠ΅ΡΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
. ΠΠ½ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ / ΠΊΠ»Π°ΡΡΠ°.
Π‘ΡΡΠΎΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ.
Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ pass.
ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ - ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°. ΠΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΡΠ΅Π΄Ρ.
ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ return, Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΊΠΎΠ΄.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ greet ()
.
def greet ():
"" "ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ" Hello World! "" ""
print ('ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!')
ΠΡΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ greet ()
.ΠΠ΅ΡΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ - ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ - ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Π½Π΅ΠΌ Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°.
Π§ΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π΅ ΠΈΠΌΡ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡΡΠ³Π»ΡΡ
ΡΠΊΠΎΠ±ΠΎΠΊ, greet ()
.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΠ΅Ρ
, Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ return Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ help () ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
>>> ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ (ΠΏΡΠΈΠ²Π΅Ρ)
Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ __main__:
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ()
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ "Hello World!"
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡ
Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ / Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°. Π€ΡΠ½ΠΊΡΠΈΡ greet ()
ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ name
. ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ print ()
ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
def greet (ΠΈΠΌΡ):
print ('ΠΡΠΈΠ²Π΅Ρ', ΠΈΠΌΡ)
greet ('Steve') # Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ (123)
ΠΠΌΠ΅Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ / ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.ΠΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ / ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: ΡΠΈΠΏ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π°Π½Π½ΠΎΡΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΡΠΈΠΏΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
def ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ (name: str):
print ('ΠΡΠΈΠ²Π΅Ρ', ΠΈΠΌΡ)
greet ('Steve') # Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ
greet (123) # Π²ΡΠ²Π΅ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π΄Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° int
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
def greet (ΠΈΠΌΡ1, ΠΈΠΌΡ2, ΠΈΠΌΡ3):
print ('ΠΡΠΈΠ²Π΅Ρ', ΠΈΠΌΡ1, ',', ΠΈΠΌΡ2, 'ΠΈ', ΠΈΠΌΡ3)
greet ('Steve', 'Bill', 'Yash') # Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ
ΠΡΠΈΠ²Π΅Ρ, Π‘ΡΠΈΠ², ΠΠΈΠ»Π» ΠΈ Π―Ρ
ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΡ Π² Python ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ *
, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ.
def greet (* ΠΈΠΌΠ΅Π½Π°):
print ('ΠΡΠΈΠ²Π΅Ρ', ΠΈΠΌΠ΅Π½Π° [0], ',', ΠΈΠΌΠ΅Π½Π° [1], ',', ΠΈΠΌΠ΅Π½Π° [3])
ΠΏΡΠΈΠ²Π΅Ρ (Π‘ΡΠΈΠ², ΠΠΈΠ»Π», Π―Ρ)
ΠΡΠΈΠ²Π΅Ρ, Π‘ΡΠΈΠ², ΠΠΈΠ»Π» ΠΈ Π―Ρ
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
def greet (* ΠΈΠΌΠ΅Π½Π°):
Ρ = 0
print ('ΠΡΠΈΠ²Π΅Ρ', ΠΊΠΎΠ½Π΅Ρ = '')
Π° len (ΠΈΠΌΠ΅Π½Π°)> i:
print (ΠΈΠΌΠ΅Π½Π° [i], end = ',')
Ρ + = 1
ΠΏΡΠΈΠ²Π΅Ρ (Π‘ΡΠΈΠ², ΠΠΈΠ»Π», Π―Ρ)
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ('Π‘ΡΠΈΠ²', 'ΠΠΈΠ»Π»', 'Π―Ρ', 'ΠΠ°ΠΏΠΈΠ»', 'ΠΠΆΠΎΠ½', 'ΠΠΌΠΈΡ')
ΠΡΠΈΠ²Π΅Ρ Π‘ΡΠΈΠ², ΠΠΈΠ»Π», Π―Ρ,
ΠΡΠΈΠ²Π΅Ρ, Π‘ΡΠΈΠ², ΠΠΈΠ»Π», Π―Ρ, ΠΠ°ΠΏΠΈΠ», ΠΠΆΠΎΠ½, ΠΠΌΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°
Π§ΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
def greet (ΠΈΠΌΡ, ΡΠ°ΠΌΠΈΠ»ΠΈΡ):
print ('ΠΡΠΈΠ²Π΅Ρ', ΠΈΠΌΡ, ΡΠ°ΠΌΠΈΠ»ΠΈΡ)
greet (lastname = 'Jobs', firstname = 'Steve') # ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ** kwarg
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ **
.ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΌ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ»ΡΡΠ°Ρ Π»ΡΠ±ΡΠ΅ Π»ΠΈΡΠ½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΡΡΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°.
def ΠΏΡΠΈΠ²Π΅Ρ (** ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ):
print ('ΠΡΠΈΠ²Π΅Ρ', ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ['ΠΈΠΌΡ'], ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ['ΡΠ°ΠΌΠΈΠ»ΠΈΡ'])
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ (firstname = 'Steve', lastname = 'Jobs')
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ (lastname = 'Jobs', firstname = 'Steve')
ΠΏΡΠΈΠ²Π΅Ρ (firstname = 'Bill', lastname = 'Gates', Π²ΠΎΠ·ΡΠ°ΡΡ = 55)
greet (firstname = 'Bill') # Π²ΡΠ·ΡΠ²Π°Π΅Ρ KeyError
ΠΡΠΈΠ²Π΅Ρ, Π‘ΡΠΈΠ² ΠΠΆΠΎΠ±Ρ
ΠΡΠΈΠ²Π΅Ρ, Π‘ΡΠΈΠ² ΠΠΆΠΎΠ±Ρ
ΠΡΠΈΠ²Π΅Ρ ΠΠΈΠ»Π» ΠΠ΅ΠΉΡΡ
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° **
ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅.
ΠΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ paramter_name ['keyword_argument']
.
ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, Π½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, ΡΠΎ ΠΎΠ½Π° Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ KeyError
, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
def ΠΏΡΠΈΠ²Π΅Ρ (** ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ):
print ('ΠΡΠΈΠ²Π΅Ρ', ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ['ΠΈΠΌΡ'], ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ['ΡΠ°ΠΌΠΈΠ»ΠΈΡ'])
greet (firstname = 'Bill') # Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ KeyError, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ 'lastname'
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
Π€Π°ΠΉΠ» "", ΡΡΡΠΎΠΊΠ° 1, Π²
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ (firstname = 'Bill')
Π€Π°ΠΉΠ» "", ΡΡΡΠΎΠΊΠ° 2, Π² ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠΈ
print ('ΠΡΠΈΠ²Π΅Ρ', ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ['ΠΈΠΌΡ'], ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ['ΡΠ°ΠΌΠΈΠ»ΠΈΡ'])
KeyError: "ΡΠ°ΠΌΠΈΠ»ΠΈΡ"
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π½, Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ greet ()
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ name
, ΠΈΠΌΠ΅ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 'Guest'
.
ΠΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
def greet (name = 'ΠΠΎΡΡΡ'):
print ('ΠΡΠΈΠ²Π΅Ρ', ΠΈΠΌΡ)
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ()
ΠΏΡΠΈΠ²Π΅Ρ ('Π‘ΡΠΈΠ²')
Π€ΡΠ½ΠΊΡΠΈΡ Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ
. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΎΠ½Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄Ρ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ return.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
def sum (a, b):
Π²Π΅ΡΠ½ΡΡΡ a + b
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΈ Π΅ΠΉ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
ΠΈΡΠΎΠ³ΠΎ = ΡΡΠΌΠΌΠ° (10, 20)
ΠΏΠ΅ΡΠ°ΡΡ (Π²ΡΠ΅Π³ΠΎ)
ΠΈΡΠΎΠ³ΠΎ = ΡΡΠΌΠΌΠ° (5, ΡΡΠΌΠΌΠ° (10, 20))
ΠΏΠ΅ΡΠ°ΡΡ (Π²ΡΠ΅Π³ΠΎ)
.