ΠΡΡΡ Π·Π° Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Python
ΠΠ»Π°Π²Π° 9
>
ΠΠΈΠ²ΠΎ 1
Π¦Π΅Π»
Π‘ΡΠ±Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ ΠΏΠΈΡΠΌΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π° string.
Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΡΠ΅ Π·Π° Π½ΠΎΠ²ΠΎΡΠΎ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΠ²ΠΎ Π½Π° ΡΠ΅ΡΠΌΠ°ΡΠ° ΡΠ° ΡΡΠ±ΡΠ°Π½ΠΈ, Π΅ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π» Π·Π° ΡΠ΅ΡΠΌΠ°ΡΠ°. ΠΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΈΡΠΌΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π·Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΡΡΠ²Π°Π½Π΅ Π·Π° ΡΠ°Π±ΠΎΡΠ°, ΠΊΠ°ΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ ΡΠΎΠ²Π° Π±ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΈΡΠ°Π½Π΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠΎΠ΄ΡΠ»Π° string, Π·Π° Π΄Π° ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠΎΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π½ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈ Π΄Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ΠΊΡΡ, Π·Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½Π°.
ΠΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° string ΡΠΎΠ·ΠΈ ΠΏΡΡ ΡΠ΅ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Ρ ΠΌΠΎΠ΄ΡΠ»Π°, ΠΈ ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
import string from string import Template from string import Formatter
Π’ΠΎΠ²Π° Π½ΠΈ Π΄Π°Π²Π° Π΄ΠΎΡΡΡΠΏ ΠΊΠ°ΠΊΡΠΎ Π΄ΠΎ ΡΠ°ΠΌΠΈΡ ΠΌΠΎΠ΄ΡΠ», ΡΠ°ΠΊΠ° ΠΈ Π΄ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΈΡΠ΅ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅Π»ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅:
string.capwords(): Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ° Π΄ΡΠΌΠΈΡΠ΅ Π² Π½ΠΈΠ· ΡΠ°ΠΊΠ°, ΡΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠ°ΡΠΎ ΠΏΡΡΠ²Π°ΡΠ° Π±ΡΠΊΠ²Π° Π½Π° Π΄ΡΠΌΠ°ΡΠ° ΡΡΠ°Π²Π° Π³Π»Π°Π²Π½Π°, Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ°Π²Π°Ρ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ Π½ΠΈΠ·Π°.Template(): Π’ΠΎΠ²Π° Π΅ ΠΊΠ»Π°Ρ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½Π΅Π½ ΠΎΠ±Π΅ΠΊΡ. Π’ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°substitute(), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ Π½ΠΈΠ· ΠΈ Π΄Π° ΠΌΠ°ΡΠΊΠΈΡΠ°ΡΠ΅ ΠΌΡΡΡΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π·Π½Π°ΠΊΠ°$Π·Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. Π’ΠΎΠ²Π° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π½ΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠΎ Π²Π°ΡΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅.Formatter(): Π’ΠΎΠ²Π° Π΅ ΠΊΠ»Π°Ρ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ ΡΡΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π½ΠΈΠ·. Π Π°Π±ΠΎΡΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°ΡΠΈΠ½ Π½Π° ΠΊΠ»Π°ΡΠ°Template(), Π½ΠΎ Π΅ ΠΏΠΎ-ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°format(), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ Π½ΠΈΠ· ΠΈ Π΄Π° Π²ΠΌΡΠΊΠ½Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² Π½Π΅Π³ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ{}.
ΠΠ°ΠΏΠΎΡΠ½Π΅ΡΠ΅, ΠΊΠ°ΡΠΎ ΠΎΡΠΈΠ΄Π΅ΡΠ΅ ΠΏΡΠΈ ΡΠ²Π΅ΡΠ»ΠΈΡ X Π·Π½Π°ΠΊ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° read(), Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠ΅ ΠΎΠ±ΡΡΠ½Π°ΡΠΈ ΠΊΡΠΌ ΡΠΊΠ°ΡΡΠ΅ΡΠΎ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π’ΠΎΠ²Π° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈ. Π’Π΅Π·ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΡΠΈ (3) ΡΠΏΠΈΡΡΡΠ½ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ Ρ ΠΈΠΌΠ΅Π½Π°: folder_a, folder_b ΠΈ folder_c.
ΠΡΠΈΠ΄Π΅ΡΠ΅ ΠΏΡΠΈ ΡΡΠΌΠ½ΠΈΡ X Π·Π½Π°ΠΊ Π²ΡΡΡ
Ρ Π·Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΈΠ»ΠΈΠΌ ΠΈ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ Π±ΡΡΠΎΡΠΎ. Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠΈ (3) ΡΠΏΠΈΡΡΠΊΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ: names_a, names_b ΠΈ names_c. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΡΠ½ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π½ΠΈΡ (list comprehensions) Ρ ΡΡΠ½ΠΊΡΠΈΡΡΠ° string.capwords() Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ°. Π‘ΡΡΠ΅ΡΠ°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΡΠΈΡΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΡΠΈΡΠ΅ Π±ΡΠΊΠ²ΠΈ Π² ΠΈΠΌΠ΅ΡΠΎ ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° names_a ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ string.capwords() Ρ folder_a, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: names_a = [string.capwords(x) for x in folder_a]. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΡΠ°ΡΠ° ΡΠΎΡΠΌΡΠ»Π°, Π·Π° Π΄Π° ΠΏΠΎΠΏΡΠ»Π½ΠΈΡΠ΅ names_b ΠΈ names_c.
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΠΊ, Π½Π°ΡΠ΅ΡΠ΅Π½ all_names, ΠΈ ΡΡΠ±Π΅ΡΠ΅ΡΠ΅ ΡΡΠΈΡΠ΅ (3) ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π°, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: all_names = names_a + names_b + names_c. Π’ΠΎΠ²Π° ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΡΠΏΠΈΡΡΡΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΡΠΏΠΈΡΡΠΊ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Python ΡΡΠ½ΠΊΡΠΈΡΡΠ° join(), ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ Π²ΡΠΈΡΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠΏΠΈΡΡΠΊΠ° Π² Π΅Π΄ΠΈΠ½ Π½ΠΈΠ·. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΡ ΡΠΏΠΈΡΡΠΊΠ°, ΠΊΠ°ΡΠΎ Π³ΠΎ ΠΎΠ±ΡΠ²ΠΈΡΠ΅ Π² ΠΊΠ°Π²ΠΈΡΠΊΠΈ, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: all_names = ", ".join(all_templates). ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ write() Ρ ΡΠΏΠΈΡΡΠΊΠ° all_names, Π·Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΈΠΌΠ΅Π½Π° Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΠΈΠΌ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π°, ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ Π·Π»Π°ΡΠ½ΠΈΡ X Π·Π½Π°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ Π±ΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΈ. Π’ΡΠΊ ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ Ρ Π΄Π²Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ red_templates ΠΈ blue_templates:
red_template = Template( "Hello, $name , thank you for applying for this position.") blue_template = Template( "Esteemed , $name , your application has been approved.")
ΠΡΠ΅ΠΊΠΈ ΠΎΡ ΡΠ΅Π·ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈΠΌΠ°Ρ Π΅Π΄Π½ΠΎ ΠΎΠ±ΡΠΎ Π½Π΅ΡΠΎ β ΠΏΠ»Π΅ΠΉΡΡ
ΠΎΠ»Π΄ΡΡ, ΠΎΠ·Π½Π°ΡΠ΅Π½ ΠΊΠ°ΡΠΎ $name. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΡ $ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π·Π° Π΄Π° ΠΌΠ°ΡΠΊΠΈΡΠ° ΠΏΠ»Π΅ΠΉΡΡ
ΠΎΠ»Π΄ΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ Π½ΠΈΠ· ΠΏΠΎ Π²Π°Ρ ΠΈΠ·Π±ΠΎΡ, Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΊΠ°ΠΊΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π²Π° β Ρ ΠΈΠΌΠ΅. ΠΠΊΠΎ Π½Π΅ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΡΠ°Π±Π»ΠΎΠ½ΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΈΡ ΠΏΠ»Π΅ΠΉΡΡ
ΠΎΠ»Π΄ΡΡ Π² Π½ΠΈΠ·Π°. ΠΠ° Π΄Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΠΊ, Π½Π°ΡΠ΅ΡΠ΅Π½ all_templates.
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ for ΡΠΈΠΊΡΠ» Ρ ΡΠ΅ΡΠΈΡΠΈ (4) ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, Ρ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π² ΡΡΠΈΡΠ΅ (3) ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π° ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΠΈΠΌΠ΅Π½Π°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ red_template ΠΊΡΠΌ ΡΠΏΠΈΡΡΠΊΠ° names_a. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° substitute() ΠΎΡ ΠΊΠ»Π°ΡΠ° Template(), Π·Π° Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠ»Π΅ΠΉΡΡ
ΠΎΠ»Π΄ΡΡΠ° $name Π² ΡΠ°Π±Π»ΠΎΠ½Π° Ρ ΠΈΠΌΠ΅Π½Π°ΡΠ° ΠΎΡ ΡΠΏΠΈΡΡΠΊΠ°.
for x in range(4): names_a[x] = red_template.substitute(name=names_a[x])
ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΡΡΡΠΎΡΠΎ Ρ names_b ΠΈ names_c: Π·Π° names_b ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΡΠΎ red_template, Π° Π·Π° names_c ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ blue_template.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΈΠΌΠ΅Π½Π° ΡΠ° ΠΏΠΎΠΏΡΠ»Π½Π΅Π½ΠΈ Ρ Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, Π΅ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΌΠ΅. Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ² ΡΠΏΠΈΡΡΠΊ, Π½Π°ΡΠ΅ΡΠ΅Π½ all_templates, ΠΈ Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΈΠΌΠ΅Π½Π° Π·Π°Π΅Π΄Π½ΠΎ, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: all_templates = names_a + names_b + names_c. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ join(), ΠΊΠ°ΠΊΡΠΎ ΠΏΠΎ-ΡΠ°Π½ΠΎ, Π·Π° Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΈΠΌΠ΅Π½Π° ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π² ΡΠ΅ΡΠΈΠΌ Π²ΠΈΠ΄, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: all_templates = "\n".join(all_templates). ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ write() Ρ all_templates, Π·Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π·Π°Π³Π»Π°Π²ΠΈΡ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π°.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΡΠΌΠ½ΠΈΡ X Π·Π½Π°ΠΊ Π²ΡΡΡ
Ρ ΡΠ΅ΡΠ²Π΅Π½ΠΈΡ ΠΊΠΈΠ»ΠΈΠΌ ΠΈ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ Π±ΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΠΌΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΈΡΠΌΠ°. ΠΠ°ΠΏΠΎΡΠ½Π΅ΡΠ΅, ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π΄Π²Π° (2) ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠΈ ΠΎΠ±Π΅ΠΊΡΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ red_1 ΠΈ red_2, Ρ ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ»Π°ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: red_1 = Formatter(), red_2 = Formatter(). ΠΠ° ΡΡΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΠΈΡΠΌΠ°ΡΠ° ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΠΊ, Π½Π°ΡΠ΅ΡΠ΅Π½ red_letters.
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ ΡΡΡΠΏΠΊΠΈ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ for ΡΠΈΠΊΡΠ» Ρ ΡΠ΅ΡΠΈΡΠΈ (4) ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. Π©Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° format() ΠΈ ΠΊΡΠΌ ΡΡΡ
ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° ΠΈΠΌΠ΅Π½Π°ΡΠ°. Π’Π΅Π·ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²ΡΠ½ΠΈ ΠΊΡΠΌ ΡΠΏΠΈΡΡΠΊΠ° red_letters, ΡΠΎΡΠΌΠΈΡΠ°ΠΉΠΊΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅Π½ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΠΈΡΠΌΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π΅ΠΊΡΡΡ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ red_1 ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ ΡΡΡ ΡΠΏΠΈΡΡΠΊΠ° names_a ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΡΠΏΠΈΡΡΠΊΠ° red_letters.
for x in range(4): red_letters.append(red_1.format( "{} Orientation will begin next week, please report to the office..." , names_a[x]))
ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΡΡΡΠΎΡΠΎ Ρ ΠΎΠ±Π΅ΠΊΡΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ red_2, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ Π½ΠΈΠ· ΠΈ Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ names_b Π² ΡΠΈΠΊΡΠ»Π°. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° join() ΡΡΡ ΡΠΏΠΈΡΡΠΊΠ° red_letters, Π·Π° Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ», ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: red_letters = "\n".join(red_letters). ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° write() Ρ red_letters, Π·Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΈΡΠΌΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ.
ΠΠ°ΠΊΡΠ°Ρ, ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΡΠΌΠ½ΠΈΡ X Π·Π½Π°ΠΊ Π²ΡΡΡ
Ρ ΡΠΈΠ½ΠΈΡ ΠΊΠΈΠ»ΠΈΠΌ ΠΈ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ Π±ΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΠΌΠ΅ ΠΈ ΡΡΡΡΠ°Π²ΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΈΡΠΌΠ°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ ΡΡΡΠΏΠΊΠΈ, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π²Π° (2) ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠΈ ΠΎΠ±Π΅ΠΊΡΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ blue_1 ΠΈ blue_2, Ρ ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ»Π°ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°: blue_1 = Formatter(), blue_2 = Formatter(). Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΠΊ blue_letters Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΈΡΠΌΠ°ΡΠ°.
ΠΡΠ΅ Π²Π΅Π΄Π½ΡΠΆ, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ for ΡΠΈΠΊΡΠ» Ρ ΡΠ΅ΡΠΈΡΠΈ (4) ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ Π½ΠΈΠ·ΠΎΠ²Π΅, Π·Π° Π΄Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ ΡΠΏΠΈΡΡΡΠΈΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π° ΠΈ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊΡΠΌ ΡΠΏΠΈΡΡΠΊΠ° blue_letters Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° format(). Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ, ΡΡΡΠ΅ΡΠ°ΠΉΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ blue_1 ΡΡΡ ΡΠΏΠΈΡΡΠΊΠ° names_c ΠΈ blue_2 ΡΡΡ ΡΠΏΠΈΡΡΠΊΠ° names_b. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½, ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ²Π΅Π½ΠΈΡ ΠΊΠΈΠ»ΠΈΠΌ, Π½ΠΎ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° write() Ρ blue_letters, Π·Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΈΡΠΌΠ° ΠΈ Π΄Π° Π·Π°Π²ΡΡΡΠΈΡΠ΅ Π½ΠΈΠ²ΠΎΡΠΎ.