print(sum(map(lambda x: x if isinstance(x, list) else [x], a_list), []))
a_list = [1, [2, [3]]]
def one_dimens_mass(lst):
new_list = []
for elem in lst:
if type(elem)==list:
new_list+= one_dimens_mass(elem)
else:
new_list.append(elem)
return new_list
print(one_dimens_mass(a_list)
new_list = sum( (item if isinstance(item, list) else [item] for item in a_list) , [])
new_list = []
for item in a_list:
if isinstance(item, list):
new_list.extend(item)
else:
new_list.append(item)
Function ЕЖИРНЫЙ(ЯЧЕЙКА As Range) As Boolean
ЕЖИРНЫЙ = ЯЧЕЙКА.Font.Bold
End Function
def foo(args):
other_args = do_something()
foo(other_args)
всегда приводится к видуdef foo(args):
while condition:
args = do_something()
В твоём случае эквивалентный кодdef func():
while True:
x, y = randint(1, 10), randint(1, 10)
if x == 1 and y == 1:
print(x, y)
def foo(args):
other_args = do_something()
foo(other_args)
another_args = do_something_else()
foo(another_args)
def shot_by_ships(self):
xy = input('\033[1;32mВаш выстрел (например, d3): ')
if len(xy) == 2:
input_x = xy[0]
if xy[1].isdigit():
input_y = int(xy[1])
else:
input_y = 10
if input_x in Board.letters and 0 <= input_y < 10:
self.x = Board.letters.index(input_x)
self.y = int(xy[1])
if radar.board[self.x][self.y] in (Cell.miss_cell, Cell.ship_cell, Cell.damaged_ship, Cell.destroyed_ship):
print('Эта клетка занята! Еще разок...')
self.shot_by_ships()
self.receive_shot()
def shot_by_ships(self):
xy = input('\033[1;32mВаш выстрел (например, d3): ')
if len(xy) == 2:
input_x = xy[0]
if xy[1].isdigit():
input_y = int(xy[1])
else:
input_y = 10
if input_x in Board.letters and 0 <= input_y < 10:
self.x = Board.letters.index(input_x)
self.y = int(xy[1])
if radar.board[self.x][self.y] in (Cell.miss_cell, Cell.ship_cell, Cell.damaged_ship, Cell.destroyed_ship):
print('Эта клетка занята! Еще разок...')
return self.shot_by_ships()
return self.receive_shot()
if shot.shot_by_ships() == 'miss':
print('\033[1;33mПромах!', 'Внешняя запись')
elif shot.shot_by_ships() == 'get':
print('\033[1;33mПопадание!', 'Внешняя запись')
elif type(shot.shot_by_ships) == Shot:
print('\033[1;33mКорабль уничтожен!', 'Внешняя запись')
shot_result = shot.shot_by_ships()
if shot_result == 'miss':
print('\033[1;33mПромах!', 'Внешняя запись')
elif shot_result == 'get':
print('\033[1;33mПопадание!', 'Внешняя запись')
elif type(shot_result) == Shot:
print('\033[1;33mКорабль уничтожен!', 'Внешняя запись')
elif type(shot_result) == Shot:
на elif type(shot_result) == Ship:
def cart_modificate(request, product_id):
if request.method =='POST':
increment = request.POST.get('increment')
... # для остальных полей по аналогии + добавить условие
<form action="{% url 'cart:cart_modificate' product.id %}" method="post">
{% csrf_token %}
<input type="submit" value="increment" />
<input type="submit" value="decrement" />
</form>
def cart_modificate(request, product_id):
if 'increment' in request.POST:
# do something
else:
# do something else
import smtplib # Импортируем библиотеку по работе с SMTP
# Добавляем необходимые подклассы - MIME-типы
from email.mime.multipart import MIMEMultipart # Многокомпонентный объект
from email.mime.text import MIMEText # Текст/HTML
from email.mime.image import MIMEImage # Изображения
addr_from = "email@mail.ru" # Адресат
addr_to = "email@mail.ru" # Получатель
password = "password" # Пароль
msg = MIMEMultipart() # Создаем сообщение
msg['From'] = addr_from # Адресат
msg['To'] = addr_to # Получатель
msg['Subject'] = 'Тема сообщения' # Тема сообщения
#body = "Текст сообщения"
#msg.attach(MIMEText(body, 'plain')) # Добавляем в сообщение текст
table = [{"username":"Alex", "email":"alex@alex.ru"}, {"username":"Habr", "email":"habrrr@habr.ru"}]
result = ''
for i in table:
result += f"<tr><td>{i['username']}</td><td>{i['email']}</td></tr>"
html = f"""\
<html>
<head></head>
<body>
<table border="1">
<tr>
<th>Username</th>
<th>eMail</th>
</tr>
{result}
</table>
</body>
</html>
"""
msg.attach(MIMEText(html, 'html', 'utf-8')) # Добавляем в сообщение HTML-фрагмент
server = smtplib.SMTP('smtp.mail.ru', 587) # Создаем объект SMTP
server.set_debuglevel(True) # Включаем режим отладки - если отчет не нужен, строку можно закомментировать
server.starttls() # Начинаем шифрованный обмен по TLS
server.login(addr_from, password) # Получаем доступ
server.send_message(msg) # Отправляем сообщение
server.quit()
class TextForm(forms.Form):
body = forms.CharField(max_length=100)
def __init__(self, *args, **kwargs):
super(TextForm, self).__init__(*args, **kwargs)
self.fields['body'].widget.attrs.update({'class': 'form-control'})
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)