from enum import Enum
class Banknotes(Enum):
ONE = 1
TWO = 2
FIVE = 5
TEN = 10
TWENTY = 20
FIFTY = 50
ONE_HUNDRED = 100
TWO_HUNDRED = 200
FIVE_HUNDRED = 500
ONE_THOUSAND = 1000
def get_min_count_banknotes(amount: int) -> dict:
all_banknotes = {}
for b in reversed(Banknotes):
all_banknotes[b.name] = 0
while amount // b.value > 0:
all_banknotes[b.name] += 1
amount -= b.value
banknotes = {banknote: count for banknote, count in all_banknotes.items() if count != 0}
return banknotes
def get_total_count_banknotes(amount: int) -> int:
ret = get_min_count_banknotes(amount)
count = sum(ret.values())
return count
if __name__ == '__main__':
# n = int(input('Введите сумму'))
n = 1234
b_notes = get_min_count_banknotes(n)
for k, v in b_notes.items():
print(f'Купюра - {k} , количество - {v}')
cnt_b_notes = get_total_count_banknotes(n)
print(f'Всего купюр - {cnt_b_notes}')
# Купюра - ONE_THOUSAND, количество - 1
# Купюра - TWO_HUNDRED, количество - 1
# Купюра - TWENTY, количество - 1
# Купюра - TEN, количество - 1
# Купюра - TWO, количество - 2
# Всего купюр - 6
class TestClass:
def __init__(self, number: (int, str)):
self._number = number
@property
def number(self):
if isinstance(self._number, int):
return self.__int_number()
elif isinstance(self._number, str):
return self.__str_number()
else:
return self._number
@number.setter
def number(self, value):
self._number = value
def __int_number(self):
return self._number * 100
def __str_number(self):
return f'Hello world - {self._number}'
value_int = 150
testInstance = TestClass(value_int)
print(testInstance.number)
value_str = '0MG'
testInstance.number = value_str
print(testInstance.number)
value_another_type = ['one', 'two']
testInstance.number = value_another_type
print(testInstance.number)
delta2_days = 1 # delta2.days
DELTA_DAYS = 14
FILE = r'C:\\m\\notice.ini'
REPLACE_ONE = '2-0\n'
REPLACE_TWO = '2-1\n'
def read_file(filename: str):
with open(filename, 'r') as f:
return f.read()
def write_file(filename: str, data):
with open(filename, 'w') as f:
f.write(data)
print(f'Дата {"меньше" if delta2_days <= DELTA_DAYS else "больше "} 14 дней')
# app_log.info(f'Дата {"больше" if some > DELTA_DAYS else "меньше"} 14 дней')
old_data = read_file(FILE)
new_data = old_data.replace(REPLACE_ONE, REPLACE_TWO) if delta2_days <= DELTA_DAYS else old_data.replace(REPLACE_TWO, REPLACE_ONE)
write_file(FILE, new_data)
import os
import re
import pytest
def get_tsc_files(filepath: str):
return [
open(os.path.join(filepath, file)).read().strip('\n')
for file in os.listdir(filepath)
if os.path.isfile(os.path.join(filepath, file) and file.endswith('.tsv'))
]
def get_regex_emails():
return re.compile(r'([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+')
path = 'C:\Работа'
@pytest.mark.parametrize('regex, checked_file', [(get_regex_emails(), file) for file in get_tsc_files(path)])
def test_match(regex, checked_file):
assert bool(re.search(regex, checked_file)) is True
from collections import Counter
d = [
{
"type": "STARK COUNTRY LINE INTERACTIVE 600",
"power": 360,
"execution": "floor",
"dimensions": "359х97х147",
"battery output signal": "synthesized sine",
"price": 9940
},
{
"type": "STARK COUNTRY LINE INTERACTIVE 1000 LI",
"power": 600,
"execution": "floor",
"dimensions": "395х145х220",
"battery output signal": "pure sine",
"price": 19374
},
{
"type": "STARK COUNTRY ONLINE 1000 ONLINE",
"power": 900,
"execution": "floor",
"dimensions": "397х145х220",
"battery output signal": "pure sine",
"price": 28639,
"discount": 'yes',
},
{
"type": "STARK COUNTRY ONLINE 1000 ONLINE RT",
"power": 900,
"execution": "floor",
"dimensions": "438х410х88",
"battery output signal": "pure sine",
"price": 29313
},
{
"type": "STARK COUNTRY ONLINE 1000 ONLINE",
"power": 800,
"execution": "floor",
"dimensions": "397х145х220",
"battery output signal": "pure sine",
"price": 23333
}
]
items = [item['type'] for item in d]
item, item_count = Counter(items).most_common()[0]
print(f'Most common item - {item}, duplicate - {item_count} times')
from tkinter import *
from tkinter import ttk
from tkinter.messagebox import showerror, showinfo
root = Tk()
root.geometry("250x200")
def clear():
entry_username.delete(0, END)
entry_password.delete(0, END)
def open_info():
showinfo(title="Info", message="Connected")
def open_error():
showerror(title="Error", message="Incorrect input")
def connect_to_db():
accepted_user = 'admin'
accepted_password = 'admin'
try:
print('Connect to DB')
username = entry_username.get()
password = entry_password.get()
if accepted_user == username and password == accepted_password:
open_info()
else:
open_error()
except Exception:
open_error()
finally:
clear()
label_username = ttk.Label(text = "USERNAME")
label_username.pack(anchor=NW, padx=6, pady=6)
entry_username = ttk.Entry()
entry_username.pack(anchor=NW, padx=6, pady=6)
label_password = ttk.Label(text = "PASSWORD")
label_password.pack(anchor=NW, padx=6, pady=6)
entry_password = ttk.Entry()
entry_password.pack(anchor=NW, padx=6, pady=6)
display_button = ttk.Button(text="Connect", command=connect_to_db)
display_button.pack(side=LEFT, anchor=N, padx=6, pady=6)
clear_button = ttk.Button(text="Clear", command=clear)
clear_button.pack(side=LEFT, anchor=N, padx=6, pady=6)
root.mainloop()
>>> class Duck:
... def __init__(self, color):
... self.color = color
... def get_color(self):
... return self.color
...
>>>
>>>
>>> d = Duck('orange')
>>> d
<__main__.Duck object at 0x000001F569CDEA08>
>>> dir(d)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'color', 'get_color']
>>> callable(d.color)
False
>>> callable(d.get_color)
True
users_text = [message.text]
mistake = 0
def mistake1(word):
global mistake
if s =='a':
mistake += 1
print("Mistake increment")
else:
mistake -= 1
print("Mistake decrement")
if __name__ == "__main__":
ask_flag = True
while ask_flag:
try:
s = input("Input word: ")
if s != "q":
mistake1(s)
except KeyboardInterrupt:
ask_flag = False
print(f"Current Count mistake = {mistake}")
print('Exit')
def _report_GaussianNB(self):
report_GaussianNB = classification_report(y_train.values, pred_train_GaussianNB)
return report_GaussianNB