Сжать текст по алгоритму Хаффмана, построив дерево. Рассчитать коэффициент сжатия. Ловко лавируя в ларингологии, лекарь-ларинголог легко излечивал ларингиты.
Маланья-болтунья молоко болтала, выбалтывала, не выболтала.
Милости к нашему шалашу: я пирогов покрошу и откушать по
mas = []
for i in range(1000):
n = int(input())
while ((0 > n) or (n > 300)):
print("Enter n in interval: 0 < n < 300")
n = int(input())
if (n == 0):
break
else :
mas.append(n)
#В даном цыкле мы заполнили масив mas[] всеми елементами, которые вводились из клавиатуры и подпадали под определение - 0 < n < 300
print("1 (mas)")
print(*mas)
print()
mas_peregon = []
for i in range(len(mas)):
if ((mas[i]//100) > 0):
mas_peregon.append(mas[i])
else :
continue
#В даном цыкле мы заполнили масив mas_peregon[] всеми елементами, которые есть в масиве mas[] и являются трехцыфовыми числами
print("2 (mas_peregon)")
print(*mas_peregon)
print()
mas_kr_4 = []
for i in range(len(mas_peregon)):
if ((mas_peregon[i]%4) == 0):
mas_kr_4.append(mas_peregon[i])
else :
continue
#В даном цыкле мы заполнили масив mas_kr_4[] всеми елементами, которые есть в масиве mas_peregon[] и есть кратными четырём
print("3 (mas_kr_4)")
print(*mas_kr_4)
print()
s = 0
for i in range(len(mas_kr_4)):
s = s + mas_kr_4[i]
#В даном цыкле мы нашли суму елементов масива mas_kr_4
print(s)
Объяснение:
Можно было сделать на один цыкл меньше, но я уже не стал исправлять. Кстати, реализовано на Python 3
class ATM:
def __init__(self):
self.money = 0.0
self.password = '1234'
def add_money(self, _money) -> bool:
if float(_money) > 0.0:
self.money += float(_money)
return True
return False
def pass_check(self) -> bool:
tries = 1
while input('Give me the password:\n> ') != self.password:
if tries > 2:
return False
tries+=1
print(f'#{tries}: Bad password')
return True
def withdraw(self, _money) -> bool:
if not self.pass_check():
self.close_session()
return False
if float(_money) > 0.0 and self.money - float(_money) >= 0.0:
self.money -= float(_money)
return True
return False
def get_balance(self) -> float:
return self.money
def close_session(self) -> None:
raise SystemExit(0)
# Пример использования 1
_atm = ATM()
_atm.add_money(1700)
print('Your balance is ' + str(_atm.get_balance()))
_atm.withdraw(1600)
print('Your balance is ' + str(_atm.get_balance()))
# Пример использования 2
_atm = ATM()
if _atm.add_money(1600):
print('Money successfully added!')
else:
print('Error while money adding.')
print('Your balance is ' + str(_atm.get_balance()))
if _atm.withdraw(1700):
print('Successfully withdrawn!')
else:
print('Error while money withdrawing.')