Size: a a a

2020 May 02

EN

Eradzh Nasriddinov in Python KZ
import tkinter as tk

root= tk.Tk()

canvas1 = tk.Canvas(root, width = 800, height = 400)
canvas1.pack()

label0 = tk.Label(root, text='Calculate PI')
label0.config(font=('helvetica', 14))
canvas1.create_window(400, 40, window=label0)

entry1 = tk.Entry (root, width = 60)
canvas1.create_window(560, 100, window=entry1)

entry2 = tk.Entry (root, width = 60)
canvas1.create_window(560, 140, window=entry2)

entry3 = tk.Entry (root, width = 60)
canvas1.create_window(560, 180, window=entry3)

entry4 = tk.Entry (root, width = 30)
canvas1.create_window(400, 300, window=entry4)

label1 = tk.Label(root, text='    Initial Investment (Absolute Value):')
label1.config(font=('helvetica', 10))
canvas1.create_window(160, 100, window=label1)

label2 = tk.Label(root, text=' Cash Flow Each Year (Separated by Comma):')
label2.config(font=('helvetica', 10))
canvas1.create_window(200, 140, window=label2)

label3 = tk.Label(root, text='   Discount Rate (%):                     ')
label3.config(font=('helvetica', 10))
canvas1.create_window(160, 180, window=label3)

def calcPI ():  
   cf0 = float(entry1.get())
   r = float(entry3.get())/100
   cashflows = entry2.get().split(',') #Enter values Separated by Commas

   sum = 0
   t=0
   
   for cf in cashflows:
       t = t+1
       pv = float(cf)/(1+r)**t
       sum = sum + pv
       
   
   pi= (sum - cf0)/cf0+1
   
   label4 = tk.Label(root, text= pi,font=('helvetica', 10, 'bold'),bg='white')
   canvas1.create_window(400, 300, window=label4)
 

button2 = tk.Button(text='Calculate PI', command=calcPI, bg='green', fg='white', font=('helvetica', 9, 'bold'), width = 25)
canvas1.create_window(400, 250, window=button2)
root.mainloop()
источник

EN

Eradzh Nasriddinov in Python KZ
вот два кода. Я хочу чтоб сначала появился интерфейс на котором там будет выбирите npv или pi итд. Пользователь нажимает на раздел и потом там откроется раздел с pi итд
источник

MO

Market Online in Python KZ
PyCon 2020 в Питтсбурге в этом году не состоялся, но PyCon Online в самом разгаре! Новые темы каждую неделю по адресу: https://us.pycon.org/2020/online/.
Уже есть доклады от таких компаний как Google, Microsoft и Facebook, а также много интересных тем в разделах "Tutorials" и "Talks".
#rtfm
источник

MR

Maksat Ramazanov in Python KZ
Eradzh Nasriddinov
у меня два кода в двух разных файлах. один код для поиска NPV а другой для profitability index. Как их можно обьединить чтоб графически хорошо смторелось тоже
Здравствуй, Eradzh. Лови dpaste.org/BwWD
источник

EN

Eradzh Nasriddinov in Python KZ
источник

MR

Maksat Ramazanov in Python KZ
Eradzh Nasriddinov
Как копировал сниппет?
источник

EN

Eradzh Nasriddinov in Python KZ
Maksat Ramazanov
Как копировал сниппет?
прошу прощения, не понял. Просто скопировал код и run сделал
источник

MR

Maksat Ramazanov in Python KZ
Сейчас
источник

MR

Maksat Ramazanov in Python KZ
источник

MR

Maksat Ramazanov in Python KZ
Скопировать надо нажав на Copy Snippet в dpaste.org
источник

MR

Maksat Ramazanov in Python KZ
Eradzh Nasriddinov
прошу прощения, не понял. Просто скопировал код и run сделал
Код скопировался с лишними строками
источник

MR

Maksat Ramazanov in Python KZ
Вот и Syntax Error
источник
2020 May 03

A

Almas in Python KZ
Всем привет. Я соединял несколько таблиц(моделей), написал это с помощью orm, но результат не тот который ожидал, видимо неправильный код. Допустим:
1. Есть модели Test, Student, Result.
2. Отношение между Test и Student many-to-many, (ManyToManyField в модели Test). Под капотом получается генериться три таблицы(Скажем test, test_student, student)
3. В модели Result содержится внешний ключ на Test и Student

Я хочу получить список тестов одного студента с результатами. Если есть результат то показать оценку, если нет то null. Я написал такой orm:
student.tests.all().annotate(point=F('results__grade'))
но этот код парсить и оценки чужих студентов, выдает их за результат студента для которого я делаю запрос. Посмотрел генерируемый sql(упростил):
SELECT ti."id",  tr."grade", tr.student_id 
FROM "test" ts
INNER JOIN "tes_student" stud ON (ts."id" = stud."test_id")
LEFT JOIN "result" res ON (ts."id" = res."test_id")
WHERE stud."student_id" = 190190190
 Получается когда делаю LEFT JOIN я должен сразу ставить условие что ID студента должно быть 190190190, но этого в generated sql нет, что значит и orm тоже неправильный.

Я думал может поставить условие в annoatate или F, посмотрел документацию ничего не нашел. Да и с orm как-то тяжеловато. Буду рад любой помощи
источник

A

Almas in Python KZ
источник

BQ

Beisembayev Qwanysh in Python KZ
Мне кажется тут можно хранить поле score в промежуточной таблице сразу, чтобы не было по сути 2 промежуточных таблиц. Поправьте, если не прав
источник

A

Almas in Python KZ
Да, точно)
источник

RJ

Rus Jr in Python KZ
Есть подозрение, что здесь не нужна м2м связь
источник

A

Almas in Python KZ
А в django есть такая функция? Чтобы можно было many-to-many field указать не через field а создать модель?
источник

A

Almas in Python KZ
Rus Jr
Есть подозрение, что здесь не нужна м2м связь
Нужна, так как один студент может по несколько тестов сдать по-одному разу
источник

BQ

Beisembayev Qwanysh in Python KZ
Almas
А в django есть такая функция? Чтобы можно было many-to-many field указать не через field а создать модель?
Можно вручную создать м2м связь
источник