words = {
'm': 2,
'a': 3,
'l': 1,
'i': 1,
'n': 2,
's': 1,
'o': 5,
'r': 1,
'd': 1
}
jams = {
'smorodina': 1,
'malina': 2
}
total = 0
for jam, amount in jams.items():
jam_time = 0
for letter in jam:
jam_time += words[letter]
total += jam_time * amount
print(total)
from itertools import zip_longest
x = [1, 2, 3, 4, 5, 6, 7]
y = [8, 9, 10]
z = [9, 3, 4, 5]
list(zip_longest(x,y,z))
Ну а там в зависимости от того как эти списки получаются и что на выходе можно по разному реализовать. zip_longrst имеет параметр fillvalue, чем заполнять по умолчанию None. Ну и надо помнить про распаковку, то есть если все эти списки собраны ну например в какой то один список то можно использовать так.data = [x,y,z]
list(zip_longest(*data))
self.add.pares.append(Create(token, link))
Вот здесь ты добавил в свой список объект типа Create. Твой класс не имеет не метода __str__, не метода __repr__ То есть строковое представление объекта Create ты не создал. В таком случае python выводит просто адрес в памяти объекта Create. Определи что ты хочешь что бы там было. class Create:
def __init__(self, token1, link1):
self.token1 = token1
self.link1 = link1
self.pares = []
def info(self):
print(str(self.pares))
def __str__(self):
return f'Create({self.token1}, {self.link1})'
def __repr__(self):
return f'Create({self.token1}, {self.link1})'
from functools import lru_cache
@lru_cache
def F(n):
print(n)
if n <= 1:
return n
if n>1:
return F(n-1)+F(n-2)
F(8)
Вот твоя функция в точности, я добавил кеширование результатов, и print(n). Запусти с ним и без него и посмотри сколько лишних вызовов происходит. Если владеешь английским вот хорошая статья почитай как сделать своими руками, без встроенного декоратора, различные стратегии и т.д. https://realpython.com/lru-cache-python/ l = [int(i) for i in '1 2 3 4 5 6 7 8 9'.split()]
m=3
result = [l[i:i+m] for i in range(0, len(l), m)]
print((f'accuracy:{accuracy_score(y_perd,y_test) :.3}'))
вот в этой строчке, ты не смог подправить не правильно написанное имя переменной, y_pred должно быть.sns.scatterplot(x='petal_width', y='petal_lenght',data=iris,hue = 'species', s=70)
должно быть y='petal_length'from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import seaborn as sns
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
from sklearn import datasets
iris= sns.load_dataset('iris')
#iris
x_train, x_test, y_train, y_test= train_test_split(
iris.iloc[:,:-1],
iris.iloc[:,-1],
test_size= 0.15
)
def init_model(k, x_train, y_train, x_test):
model = KNeighborsClassifier(n_neighbors=k)
# print(model)
model.fit(x_train,y_train)
y_pred = model.predict(x_test)
return y_pred
def grath(y_test,x_test,y_pred):
plt.figure(figsize=(10, 7))
sns.scatterplot(x='petal_width', y='petal_length',data=iris,hue = 'species', s=70)
plt.xlabel('Длина лепестка,см')
plt.ylabel('Ширина лепестка,см')
plt.legend(loc=2)
plt.grid()
for i in range(len(y_test)):
if np.array(y_test)[i] != y_pred[i]:
plt.scatter(x_test.iloc[i,3],x_test.iloc[i,2],color = 'red', s = 150)
# x_train.shape, x_test.shape, y_train.shape, y_test.shape
# x_train.head()
# y_train.head()
k = int(input('Чему равно k? '))
y_pred = init_model(k,x_train,y_train,x_test)
print((f'accuracy:{accuracy_score(y_pred,y_test) :.3}'))
grath(y_test,x_test,y_pred)
tree.apples().total()
после выполнения apples() у тебя в результате объект None. А объект None не имеет метода total. О чем и говорит ошибка. Метод total это метод экземпляра класса Tree. tree.total()
Соответственно, что бы изменить атрибут экземпляра класса и затем вывести его на печать, согласно твоему объявлению класса, то вот так.tree = Tree()
tree.apples()
tree.total()
f = lambda x: x**2
print(f(4))
выведет 16. f - это указатель на безымянную функцию с одним параметром. lambda a:a*2
дальше как в пример выше ты вызываешь свою функцию с аргументом a=11 и получаешь 22. Эта лямбда стоит после оператора return функции myfunc, то есть myfunc возвратит то, что вычислится в результате выполнения лямбды.Вот здесь ошибка в твоей логике. Он вернет функцию а не вычислит ее только вместо n ,будет параметр из myfunc.