A = """
A
A A
A A
AAAAA
A A
A A
A A
"""
B = """
BBBB
B B
B B
BBBB
B B
B B
BBBB
"""
C = """
CCC
C C
C
C
C
C C
CCC
"""
D = """
DDDD
D D
D D
D D
D D
D D
DDDD
"""
E = """
EEEEE
E
E
EEE
E
E
EEEEE
"""
F = """
FFFFF
F
F
FFF
F
F
F
"""
import alphabet_ascii as alfabet_ascii
alph = {'A':alfabet_ascii.A,
'B': alfabet_ascii.B,
'C': alfabet_ascii.C,
'D': alfabet_ascii.D,
'E': alfabet_ascii.E}
def make_symbols(symbols):
lines = []
for number, _ in enumerate(alph['A'].splitlines()):
line = [alph[symbol].splitlines()[number] for symbol in symbols]
line = ' '.join(line)
lines.append(line)
text = '\n'.join(lines)
return text
print(make_symbols('ABCDE'))
components=[row]
лишние квадратные скобки. create_actionrow(btns)
должна возвращать другой тип (сейчас возвращает список чего-то, надо посмотреть внимательно). data = '''
<div class="catalog-grid catalog-grid_unpadding-mobile catalog-grid_by3 rightside ">
<div class="catalog-grid__item"><article class="product-snippet"itemscope itemprop="itemListElement" itemtype="http://schema.org/Product" >
<button class="product-snippet__favorite product-card__favorite product-card__favorite"
data-id="124852">
<span>
<svg width="24" height="24">
<use xlink:href="/static/local/assets/sprite.svg?v=4#heart"></use>
</svg>
</span> <span class="product-card__favorite_bin">
<svg width="24" height="24">
<use xlink:href="/static/local/assets/sprite.svg?v=4#bin"></use>
</svg>
</span> </button>
<!-- TOP PART -->
<div class="product-snippet__top">
<div class="product-snippet__right">
<meta itemprop="sku" content="124852"> <span itemprop="brand" itemscope itemtype="http://schema.org/Brand">
<meta itemprop="name" content="Colterenzio"> </span>
<!-- ID -->
<div class="product-snippet__id" data-value-group-id="132655"
data-value-id="108038">
<span>Артикул:</span>
124852 </div>
<!-- #ID -->
<!-- RATINGS -->
<div class="product-snippet__ratings">
<!-- STARS -->
<div class="product-snippet__ratings-item">
<svg width="12" height="12">
<use xlink:href="/static/local/assets/sprite.svg?v=4#star"></use>
</svg>
<span>4.8</span>
</div>
<!-- #STARS -->
<!-- GREEN SELECTIONS -->
<!-- #GREEN SELECTIONS -->
</div>
<!-- #RATINGS -->
<!-- NAME -->
<a href="/catalog/product/colterenzio_pfefferer_2020_075/"
data-page="1"
data-value-group-id="132655"
data-value-id="108038"
class="product-snippet__name js-dy-slot-click">
Вино Pfefferer, Colterenzio, 2020 г. </a>
<meta itemprop="name" content="Вино Pfefferer, Colterenzio, 2020 г."> <!-- #NAME -->
<!-- DESC -->
<div class="product-snippet__desc">
<a href="/catalog/vino/filter/country-italiya/">Италия</a>, <a href="/catalog/vino/filter/color-beloe/">белое</a>, <a href="/catalog/vino/filter/sugar_type-polusukhoe/">полусухое</a>, <a href="/catalog/vino/filter/volume-0_75/">0.75 л.</a> </div>
<!-- #DESC -->
<!-- DETAIL -->
<div class="product-snippet__detail">
<div class="tag-stock product-snippet__stock-part">
<div class="tag-stock__buy-price-sale-link">
<div class="tag-stock__icon-wrap">
<span class="tag-stock__buy-price-sale-icon">
<svg width="19" height="19">
<use xlink:href="/static/local/assets/sprite.svg?v=4#sale"></use>
</svg>
</span> <div class="tag-stock__alert">
<div class="tag-stock__alert-title">Вы обратились по адресу: у нас такого много</div>
<p class="tag-stock__alert-descr">
</p>
<div class="tag-stock__alert-link-wrap">
<a class="tag-stock__alert-link" href="/stock/vy-obratilis-po-adresu-u-nas-takogo-mnogo/"
>
Подробнее</a>
</div>
</div>
</div>
<span class="tag-stock__buy-price-sale-text">Участвует в акции</span>
</div>
</div>
<!-- INFO -->
<div class="product-snippet__info">
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Страна:</span>
<a href="/catalog/vino/filter/country-italiya/">Италия</a>
</div>
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Цвет:</span>
<a href="/catalog/vino/filter/color-beloe/">белое</a>
</div>
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Сахар:</span>
<a href="/catalog/vino/filter/sugar_type-polusukhoe/">полусухое</a>
</div>
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Объем:</span>
<a href="/catalog/vino/filter/volume-0_75/">0.75 л.</a>
</div>
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Виноград:</span>
<a href="/catalog/vino/filter/grape-muskat_zheltyy/">мускат желтый 100%</a> </div>
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Производитель:</span>
<a href="/catalog/vino/filter/manufacturer-colterenzio/">Colterenzio</a>
</div>
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Регион:</span>
<a href="/catalog/vino/filter/region-trentino_alto_adidzhe/">Трентино-Альто Адидже</a>
</div>
<div class="product-snippet__info-item">
<span class="product-snippet__info-title">Стилистика:</span>
белое - яркое, из ароматических сортов винограда </div>
</div>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'html5lib')
product_data = soup.find(class_="product-snippet__info") # выбрал этот класс, так как именно в нём отображена модель объекта - это видно глазами.
# там внутри однотипные элементы, и их будем далее перебирать.
title = []
for number, item in enumerate(product_data): # тут enumerate не обязательно, я его поместил, чтобы когда буду разбираться, смотреть, к какому полю из полей product_data по номеру обращается скрипт. Можно убрать number и enumerate.
product_tds = item.find("a") # нахожу следующий тег <a>
if hasattr(product_tds, 'text'): # среди найденных объектов у некоторых есть атрибут «text», у других его нет. Где его нет - пропускаем, где есть - складываем в список
title.append(product_tds.text)
print(' '.join(title)) # печатаем найденные и сложенные в список title тексты через пробел.
import json
import numpy as np
import pandas as pd
from pathlib import Path
# тут я формирую тестовый файл json со списком длиной 50
n = 50
list_for_json = [i for i in range(n)]
my_json_file = Path('myjson.json')
with open(my_json_file, 'w') as myfile:
json.dump(fp=myfile, obj=list_for_json)
# тут открываю этот файл, создаю из него dataframe Pandas и именую колонку с данными 'close',
# так как такое имя используется в приведенной вами функции.
with open(my_json_file, 'r') as myfile:
df = pd.read_json(myfile)
df.rename(columns={0: 'close'}, inplace=True)
print(df.head())
# собственно функция без изменений
def rsi_tradingview(ohlc: pd.DataFrame, period: int = 14, round_rsi: bool = True):
""" Implements the RSI indicator as defined by TradingView on March 15, 2021.
The TradingView code is as follows:
//@version=4
study(title="Relative Strength Index", shorttitle="RSI", format=format.price, precision=2, resolution="")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")
:param ohlc:
:param period:
:param round_rsi:
:return: an array with the RSI indicator values
"""
delta = ohlc["close"].diff()
up = delta.copy()
up[up < 0] = 0
up = pd.Series.ewm(up, alpha=1/period).mean()
down = delta.copy()
down[down > 0] = 0
down *= -1
down = pd.Series.ewm(down, alpha=1/period).mean()
rsi = np.where(up == 0, 0, np.where(down == 0, 100, 100 - (100 / (1 + up / down))))
return np.round(rsi, 2) if round_rsi else rsi
# ну а дальше просто вызываю функцию и передаю в неё dataframe и печатаю, что она возвращает. # Насколько это вменяемо внутри функции, не знаю.
print(rsi_tradingview(ohlc=df))
import random
def get_random_int():
return random.randint(5, 10)
def get_random_a_b():
return get_random_int(), get_random_int()
a, b = get_random_a_b()
while True:
if a > b:
result = a - b
sign = '-'
else:
result = a + b
sign = '+'
sent = '\n'.join(['', str(a), sign, str(b), 'Ваш ответ: '])
if int(input(sent)) == result:
print("Правильно!")
else:
print(f"Ошибка! Правильный ответ: {result}")
a, b = get_random_a_b()
driver.execute_script("document.getElementsByClassName('label')[0].click()")
или другой метод, я же не вижу что там у вас есть “label”. Under construction! Not ready for use yet!на github намекают, что скорее всего нельзя.