πŸ₯ Π—Π°Π΄Π°Ρ‡Π° ΠΏΠΎ Python #7



ОписаниС



Для Π·Π°Π΄Π°Π½Π½ΠΎΠΉ химичСской Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, прСдставлСнной строкой, подсчитайтС количСство Π°Ρ‚ΠΎΠΌΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта, содСрТащСгося Π² ΠΌΠΎΠ»Π΅ΠΊΡƒΠ»Π΅, ΠΈ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚(ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ dict).



ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹



water = 'H2O'

parse_molecule(water) # Π’Π΅Ρ€Π½Ρ‘Ρ‚ {'H': 2, 'O': 1}



magnesium_hydroxide = 'Mg(OH)2'

parse_molecule(magnesium_hydroxide) # Π’Π΅Ρ€Π½Ρ‘Ρ‚ {'O': 2, 'H': 2, 'Mg': 1}



fremySalt = 'K4[ON(SO3)2]2'

parse_molecule(fremySalt) # Π’Π΅Ρ€Π½Ρ‘Ρ‚ {'S': 4, 'O': 14, 'N': 2, 'K': 4}



Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ… Π΅ΡΡ‚ΡŒ скобки. ИндСкс Π²Π½Π΅ скобок Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ количСство ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Ρ‚ΠΎΠΌΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ скобки Π½Π° этот индСкс. НапримСр, Π² Fe(NO3)2 Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π°Ρ‚ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π°, Π΄Π²Π° Π°Ρ‚ΠΎΠΌΠ° Π°Π·ΠΎΡ‚Π° ΠΈ ΡˆΠ΅ΡΡ‚ΡŒ Π°Ρ‚ΠΎΠΌΠΎΠ² кислорода.



ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ скобки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ. ИндСкс послС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.



Π‘Π²ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ πŸ’­

Кодом Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π·
pastebin.org ΠΈΠ»ΠΈ repl.it.



#Π·Π°Π΄Π°Ρ‡ΠΈ