print(my_dict[“key_name”])
for key in my_dict:
print(my_dict[key])
from random import randint
import time
target_pass = str(randint(1000, 10 ** 4)) #. Генерирую случайный целевой пароль длиной 4 цифры.
start_time = time.time()
int_pass = int(target_pass)
result = None
for next_pass in range(10 ** len(target_pass)):
if next_pass == int_pass:
result = next_pass
break
print(result)
print(time.time() - start_time)
# Далее твой код, но без печати (с печатью вообще не дождаться).
start_time = time.time()
password = target_pass
words = [
1, 2, 3, 4, 5, 6, 7, 8, 9, 0
]
end_password = ''
old = []
length = len(words) - 1
def func():
global end_password
while end_password != password:
for i in range(1_0_0_0_0):
end = ''
for letter in range(len(password)):
guess = words[randint(0, length)]
end += str(guess)
if end not in old:
old.append(end)
if end == password:
end_password = end
else:
pass
# print(f'{end}')
# print(end,end=' ')
func()
print(f'\n\n\n\n\n\tHack : {end_password} | {(time.time() - start_time)}(sec);')
def get_repl_txt():
LAT_TXT = "qwertyuiop[]asdfghjkl;'zxcvbnm,."
RUS_TXT = 'йцукенгшщзхъфывапролджэячсмитьбю'
return dict(zip(LAT_TXT, RUS_TXT))
def repl(txt, repl_txt):
txt = txt.lower()
for lat in repl_txt.keys():
txt = txt.replace(lat, repl_txt[lat])
return txt
repl_txt = get_repl_txt()
next_str = ' '
while bool(next_str):
next_str = input()
print(repl(next_str, repl_txt))
jf_file = json.loads(jfr.read())
def my_generator(number):
while number > 0:
yield number
number -= 1
gen = my_generator(5) # теперь в gen генератор от 1 до 5
my_list = [0, 1, 3, 5]
print(type(gen))
set_gen = set(gen) # разворачиваем генератор в множество (если, конечно, влезет)
set_my_list = set(my_list)
print(f'gen {set_gen}')
print(f'list{set_my_list}')
print(set_gen - set_my_list)
print(set_my_list - set_gen)
print(set_gen & set_my_list)
print(set_my_list & set_gen)
print(set_gen | set_my_list)
print(set_my_list | set_gen)
from random import randint
start = 0
end = 100
first = randint(start, end)
print(f'Сгенерировано первое число между {start} и {end-1} включительно')
second = None
third = None
counter = 0
while not second == third == first:
counter += 1
print(f'Попытка {counter}')
try:
second = int(input('Введите второе число:'))
third = int(input('Введите третье число:'))
print('\n')
if second >= first:
print('Второе больше или равно')
elif second <= first:
print('Второе меньше или равно')
if third >= first:
print('Третье больше или равно')
elif third <= first:
print('Третье меньше или равно')
except ValueError:
print('Ошибка. Повторите ввод.')
finally:
print('\n')
print(f'Найдено за {counter} попыток.')
target = 135
if abs(first - second) == target:
print("Oh yes!")
else:
print("Oh no…")
total_sum = 0
def check_string(string):
try:
result = eval(string)
return result
except SyntaxError:
while True:
need_fix = input(f'Обнаружена ошибка в строке: {string}\tХотите исправить? ').lower()
if need_fix == 'да':
string = input('Введите исправленную строку: ')
result = check_string(string)
return result
elif need_fix == 'нет':
break
else:
print('Ответ не распознан, повторите ввод.')
continue
with open('calc.txt', 'r') as tasks:
for line in tasks:
task = line[:-1] if '\n' in line else line
task_result = check_string(task)
if not task_result:
continue
total_sum += task_result
print()
print(f'Сумма результатов: {total_sum}')
каждый вызов я ее личные переменные приравниваю к общим, изменяю так же
isLogin = 0
r = 1
def testf():
print(isLogin)
if isLogin == 0:
print(1)
testf()
isLogin = 0
r = 1
def testf():
if r == 0:
isLogin = 1 # тут ты объявляешь внутреннюю переменную, которая перекрывает глобальную.
if isLogin == 0:
print(1)
testf()
r = 1
def testf():
isLogin = 0
if r == 0:
isLogin = 1
if isLogin == 0:
print(1)
testf()
isLogin = 0
r = 1
def testf():
global isLogin
if r == 0:
isLogin = 1
if isLogin == 0:
print(1)
testf()
my_list = ['a', 'b', 'c']
answer = None
while answer not in ['y', 'n']:
answer = input('Печатать весь список? (y/n)')
if answer == 'y':
for l in my_list:
print(l)
else:
while answer not in range(len(my_list)):
try:
answer = int(input(f'Какой элемент списка напечатать? (0-{len(my_list)-1})'))
except ValueError:
print('Попробуй еще раз')
print(my_list[answer])
words = ['abandon', 'ability', 'able', 'about', 'above', 'absent', 'absorb', 'abact', 'absurd', 'abuse']
number = 12
index = 0
seed = ' '.join([words[index]] * number) # повторяет n раз указанный элемент списка через пробел
print(seed)
words = ['abandon', 'ability', 'able', 'about', 'above', 'absent', 'absorb', 'abact', 'absurd', 'abuse']
import random
start = 0
length = 12
stop = start + length
seed = words[start: stop]
random.shuffle(seed)
seed = ' '.join(seed)
print(seed)
line = {'1': '1_value', '2': '3454358', '3': '3_value', '4': '313123','5':'5_value'}
data = tuple(line.values())
print(data)
line = {'1': '1_value', '2': '3454358', '3': '3_value', '4': '313123','5':'5_value'}
data =(line["1"],line["2"],line["3"],line["4"],line["5"])
print(data)
import pandas as pd
def get_pairs(keys: list, data: list) -> dict:
"""
Подготовительная функция
Раскладывает значения из data по ключам из key в порядке, как в key
:param keys: ['foo', 'spam', 'foo', ...]
:param data: [('foo', 'bar'), ('foo', 'baz'), ('spam', 'ham'), ...]
:return: {'foo': ['bar', 'baz'], 'spam': ['ham'], ...}
"""
inter_pairs = dict([(key, []) for key in set(keys)])
while bool(len(data)):
key, value = data.pop(0)
inter_pairs[key].append(value)
return inter_pairs
def prepare_next_attr(key: str, value: str, descr: list) -> tuple:
"""
Служебная функция
Готовит очередной комплект атрибутов
для вычисления следующего результата
:param key:
:param value:
:param descr:
:return: next_key, next_pair, next_descr
"""
descr = [i.lower() for i in descr]
next_key = f'{key.lower()}, '
next_pair = f'{next_key}{value.lower()}'
next_descr = descr.pop(0)
return next_key, next_pair, next_descr
def get_next_res_item(key: str, value: str, descr: list) -> str:
"""
Служебная функция
Готовит результат, сравнивая по Descr
(тут подгонка if-ами под задание)
:param key:
:param value:
:param descr:
:return: результат для помещения в список результатов
"""
next_key, next_pair, next_descr = prepare_next_attr(key, value, descr)
if next_pair == next_descr:
res_item = f'{key}: {value};'
elif next_key in next_descr:
res_item = f'{key};'
else:
res_item = f'{key}'
return res_item
def make_result(keys: list, inter_pairs: dict, descr: list) -> pd.Series:
"""
Перебирает ключи, получает для каждого очередной результат,
складывает результаты в pd.Series
:param keys:
:param inter_pairs:
:param descr:
:return: pd.Series с результатами
"""
intermedia_result = []
for key in keys:
value = inter_pairs[key].pop(0)
intermedia_result.append(
get_next_res_item(key,
value,
descr)
)
return pd.Series(intermedia_result)
if __name__ == '__main__':
df1 = {
'Descr': ["VALVE, PRESSURE", "pump ttf", "Valve, electrical", "Geeku, electrical",
"VALVE, OVERBOARD, BUTTERFLY"],
'N_Product': ["VALVE", "PUMP", "VALVE", "GEEKU", "VALVE"],
}
df2 = {'N_Product': ["VALVE", "VALVE", "VALVE", "PUMP", "GEEKU"],
'M_Product': ["PRESSURE", "qwerty", "", "", "ELECTRICAL"],
}
target = {
'Descr': ["VALVE, PRESSURE", "pump ttf", "Valve, electrical", "Geeku, electrical", "VALVE, OVERBOARD, "
"BUTTERFLY"],
'N_Product': ["VALVE", "PUMP", "VALVE", "GEEKU", "VALVE"],
'Result': ["VALVE: PRESSURE;", "PUMP", "VALVE;", "GEEKU: ELECTRICAL;", "VALVE;"], }
df1 = pd.DataFrame(df1)
df2 = pd.DataFrame(df2)
df_target = pd.DataFrame(target)
df2_list = list(zip(df2['N_Product'], df2['M_Product']))
pairs = get_pairs(df1['N_Product'], df2_list)
result = make_result(df1['N_Product'], pairs, df1['Descr'])
df1['Result'] = result.values
print(df1)
print(all(df1 == df_target))