我想为计算器实现一个 dms() 函数,类似于 Windows 计算器。为了计算结果,我在最终公式所在行使用 sympy.N() 方法。我想看到这样的代码:
from sympy import N
def do_smth(x):
return x+1
result = N('do_smth((8*7)-3)')
我应该如何实施这个?请求:如果你知道更好的使用Sympy库的方法,不要在评论中写下我不知道Sympy之类的。建议您的选择。
我想为计算器实现一个 dms() 函数,类似于 Windows 计算器。为了计算结果,我在最终公式所在行使用 sympy.N() 方法。我想看到这样的代码:
from sympy import N
def do_smth(x):
return x+1
result = N('do_smth((8*7)-3)')
我应该如何实施这个?请求:如果你知道更好的使用Sympy库的方法,不要在评论中写下我不知道Sympy之类的。建议您的选择。
我决定将我的《魔兽争霸》机器人放在GUI上。
我使用 Qt Designer 创建了界面并将其转换为 Python 代码。
现在问题来了。
屏幕截图显示了我的机器人(目前只有 gui 图片),我需要将输入的信息传递到变量中,user_info
如何做到这一点?
所有GUI代码:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(349, 471)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.buttonspel = QtWidgets.QLabel(self.centralwidget)
self.buttonspel.setGeometry(QtCore.QRect(10, 280, 121, 21))
self.buttonspel.setObjectName("buttonspel")
self.xhekpail = QtWidgets.QRadioButton(self.centralwidget)
self.xhekpail.setGeometry(QtCore.QRect(10, 240, 211, 21))
self.xhekpail.setObjectName("xhekpail")
self.start = QtWidgets.QPushButton(self.centralwidget)
self.start.setGeometry(QtCore.QRect(10, 310, 321, 61))
self.start.setObjectName("start")
self.buttonspel1 = QtWidgets.QKeySequenceEdit(self.centralwidget)
self.buttonspel1.setGeometry(QtCore.QRect(130, 280, 81, 20))
self.buttonspel1.setObjectName("buttonspel1")
self.Lenbot = QtWidgets.QLabel(self.centralwidget)
self.Lenbot.setGeometry(QtCore.QRect(10, 10, 281, 111))
self.Lenbot.setObjectName("Lenbot")
self.dushnim = QtWidgets.QLabel(self.centralwidget)
self.dushnim.setGeometry(QtCore.QRect(20, 110, 291, 91))
self.dushnim.setObjectName("dushnim")
self.prochital = QtWidgets.QRadioButton(self.centralwidget)
self.prochital.setGeometry(QtCore.QRect(10, 200, 82, 17))
self.prochital.setObjectName("prochital")
self.git = QtWidgets.QLabel(self.centralwidget)
self.git.setGeometry(QtCore.QRect(10, 380, 291, 21))
self.git.setObjectName("git")
self.giturl = QtWidgets.QLabel(self.centralwidget)
self.giturl.setGeometry(QtCore.QRect(10, 405, 221, 31))
self.giturl.setObjectName("giturl")
self.OBIZATELNO = QtWidgets.QLabel(self.centralwidget)
self.OBIZATELNO.setGeometry(QtCore.QRect(220, 280, 81, 16))
self.OBIZATELNO.setObjectName("OBIZATELNO")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 349, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.add_functions()
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Len.bot"))
self.buttonspel.setText(_translate("MainWindow", "введите кнопку спэла"))
self.xhekpail.setText(_translate("MainWindow", " посмотреть что будер рыспылено"))
self.start.setText(_translate("MainWindow", "СТАРТ"))
self.Lenbot.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-weight:600; font-style:italic;\">Len.bot - новый бот, который упрощает гейм-</span></p><p align=\"center\"><span style=\" font-weight:600; font-style:italic;\">плей нашей любимой игры.</span></p><p align=\"center\"><span style=\" font-weight:600; font-style:italic;\">Зачем нам делать нудное дело самим,</span></p><p align=\"center\"><span style=\" font-weight:600; font-style:italic;\">если есть этот бот?</span></p></body></html>" ))
self.dushnim.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:10pt; font-style:italic;\">немного подушним,</span></p><p align=\"center\"><span style=\" font-size:10pt; font-style:italic;\">обязательно прочитай инструкцию,</span></p><p align=\"center\"><span style=\" font-size:10pt; font-style:italic;\">она лежит в папке с ботом</span></p></body></html>"))
self.prochital.setText(_translate("MainWindow", "прочитал?????????"))
self.git.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; font-style:italic;\">мой гитхаб-</span></p><p><span style=\" font-size:12pt;\"><br/></span></p></body></html>"))
self.giturl.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:10pt; font-weight:600;\">https://github.com/Lennet8002</span></p></body></html>"))
self.OBIZATELNO.setText(_translate("MainWindow", "ОБЯЗАТЕЛЬНО!"))
def add_functions(self):
self.xhekpail.clicked.connect(self.pail_chek) #запомнить 25минут
self.start.clicked.connect(self.start_chek)
self.buttonspel.
def pail_chek(self):
user_info = "yes"
def start_chek(self):
start = "enter"
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
有一个输入复选框
<input type="<?php echo esc_attr($type == 'tabs_radio' ? "radio" : "checkbox") ?>" <?php checked($checked) ?> name="woof_section_tabs" class="input-rst-btn" id="woof_tab_<?php echo esc_attr($key . "_" . $id); ?>">
输出看起来像:
<input type="checkbox" name="woof_section_tabs" class="input-rst-btn" id="woof_tab_pa_product-category_67793e016ad43">
并且有一个标签
<label class="woof_section_tab_label" for="woof_tab_pa_product-category_67793e016ad43" id="woof_pa_product-category_67793e016ad43_content">
当您单击复选框时,其标签可以设置为选中的样式,这样可以:
.woof_redraw_zone input[name="woof_section_tabs"]:checked + label.woof_section_tab_label {
position: absolute;
top: 75px;
right: 0;
z-index: 21;
}
还有一个div(在input之前,一个parent),当input[name="woof_section_tabs"]:勾选时需要改变样式,我写
.woof_redraw_zone input[name="woof_section_tabs"]:checked + .rst-btn (класс DIVa) {
position: absolute;
top: 75px;
right: 0;
z-index: 21;
}
块本身
<div class="woof_submit_search_form_container rst-btn" id="rst-btn"><a href="/" class="rst-butt"><div class="reset-in-filter" data-link="">Текст</div></a></div>
而且根本不行,我也通过js尝试过
var obj1 = document.getElementsByClassName('woof_section_tab_label');
if (getComputedStyle(obj1).position == 'absolute') {
document.getElementsByClassName('woof_submit_search_form_container').style.position = 'absolute';
}
那些。事实证明,当 input:checked 时,div 块需要分配位置:absolute,使用标签本身可以正常工作。他不想去找女主角。请帮忙解决,css和脚本都可以。
在RoR中的数据库表中创建请求时,抛出此错误:
缺少 Zayavk#sotrudnikis 关联的模型类 Sotrudnikis。您可以使用 :class_name 选项指定不同的模型类。
这个模型是存在的,甚至连联系都被阐明了。这里可能出了什么问题?
class Zayavk < ApplicationRecord
belongs_to :sotrudnikis
belongs_to :kii_objs
belongs_to :incidents_types
belongs_to :zayavka_statuses
end
class Sotrudniki < ApplicationRecord
belongs_to :dolznosti
belongs_to :role
validates :s_name, presence: true, uniqueness: true
has_secure_password
end
# Части кода контроллера, выдающего ошибку:
def create
@zayavk = Zayavk.new(zayavk_params)
respond_to do |format|
if @zayavk.save
format.html { redirect_to @zayavk, notice: "Zayavk was successfully created." }
format.json { render :show, status: :created, location: @zayavk }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @zayavk.errors, status: :unprocessable_entity }
end
end
end
我正在编写一个程序,使用最速下降法计算非线性方程的根。我在寻找导数时也遇到了问题(我将附上屏幕截图以更清楚地说明我在说什么)。我想使用numpy和sumpy方法,但由于距离考试时间不多,所以我匆忙地写了代码。
第一种情况是 x1 = -0.9,x2 = 0.7(根应该精确到 10^-6:x1 = -0.947718 和 x2 = 0.713550,但是却找到了完全不同的根)。
第二种情况是x1 = -0.1,x2 = 2.2(根必须精确到10^-6:x1 = -0.110086和x2 = 2.222477,就像牛顿法中的情况一样)。
非线性方程组:
方程根的图形定位:
该理论可以在这里看到:
程序代码,起点(-0.9,0.7):
import math
# первый корень
x1k = -0.9
x2k = 0.7
# второй корень
##x1k = -0.1
##x2k = 2.2
alpha = 0.25
## fx1_x1k_x2k = round(2 * (math.cos(x1k + 1.5) * (math.sin(x1k + 1.5) + 2.9 - x2k) + x1k + math.cos(x2k - 2)), 6)
## fx2_x1k_x2k = round(-2 * ((math.cos(x2k - 2) * math.sin(x2k - 2)) - x2k + math.sin(x1k + 1.5) + 2.9 + (x1k * math.sin(x1k + 1.5))), 6)
for k in range(1, 39):
fx1_x1k_x2k = round((2 * math.sin(x1k + x2k) * math.cos(x1k + x2k)) + (3.38 * x1k) - (2.6 * math.sin(x1k + x2k)) - (2.6 * x1k * math.cos(x1k + x2k)) - (2 * math.cos(x1k + x2k)) + 2.6, 6)
fx2_x1k_x2k = round(4 * x1k**3 + 0.16 * x2k**3 + (0.8 * x2k * x1k**2) + (0.4 * x2k**2 * 2 * x1k) - 4 * x1k - 0.8 * x2k, 6)
x1_current = round(x1k - alpha * fx1_x1k_x2k, 6)
x2_current = round(x2k - alpha * fx2_x1k_x2k, 6)
print(f'------------------------------------ k = {k} ------------------------------------')
print(f'x1_current = {x1_current}')
print(f'x2_current = {x2_current}')
print(f'|x1 - x1_current| = {round(abs(x1k - x1_current), 6)}')
x1k = x1_current
x2k = x2_current
找到第一个根的结果,我们得到 (-0.110084, 2.222471),而不是 (-0.947718, 0.713550),其中 k = 38:
------------------------------------ k = 1 ------------------------------------
x1_current = -0.904586
x2_current = 0.63008
|x1 - x1_current| = 0.004586
------------------------------------ k = 2 ------------------------------------
x1_current = -0.920633
x2_current = 0.550413
|x1 - x1_current| = 0.016047
------------------------------------ k = 3 ------------------------------------
x1_current = -0.950972
x2_current = 0.475969
|x1 - x1_current| = 0.030339
------------------------------------ k = 4 ------------------------------------
x1_current = -0.996371
x2_current = 0.432886
|x1 - x1_current| = 0.045399
...
------------------------------------ k = 38 ------------------------------------
x1_current = -0.110084
x2_current = 2.222471
|x1 - x1_current| = 1e-06
程序代码,起点(-0.1,2.2):
import math
# первый корень
##x1k = -0.9
##x2k = 0.7
# второй корень
x1k = -0.1
x2k = 2.2
alpha = 0.25
## fx1_x1k_x2k = round(2 * (math.cos(x1k + 1.5) * (math.sin(x1k + 1.5) + 2.9 - x2k) + x1k + math.cos(x2k - 2)), 6)
## fx2_x1k_x2k = round(-2 * ((math.cos(x2k - 2) * math.sin(x2k - 2)) - x2k + math.sin(x1k + 1.5) + 2.9 + (x1k * math.sin(x1k + 1.5))), 6)
for k in range(1, 39):
fx1_x1k_x2k = round((2 * math.sin(x1k + x2k) * math.cos(x1k + x2k)) + (3.38 * x1k) - (2.6 * math.sin(x1k + x2k)) - (2.6 * x1k * math.cos(x1k + x2k)) - (2 * math.cos(x1k + x2k)) + 2.6, 6)
fx2_x1k_x2k = round(4 * x1k**3 + 0.16 * x2k**3 + (0.8 * x2k * x1k**2) + (0.4 * x2k**2 * 2 * x1k) - 4 * x1k - 0.8 * x2k, 6)
x1_current = round(x1k - alpha * fx1_x1k_x2k, 6)
x2_current = round(x2k - alpha * fx2_x1k_x2k, 6)
print(f'------------------------------------ k = {k} ------------------------------------')
print(f'x1_current = {x1_current}')
print(f'x2_current = {x2_current}')
print(f'|x1 - x1_current| = {round(abs(x1k - x1_current), 6)}')
x1k = x1_current
x2k = x2_current
当 k = 21 时,求二阶根的结果是 (-0.110084, 2.222471):
------------------------------------ k = 1 ------------------------------------
x1_current = -0.106128
x2_current = 2.20748
|x1 - x1_current| = 0.006128
------------------------------------ k = 2 ------------------------------------
x1_current = -0.105683
x2_current = 2.212223
|x1 - x1_current| = 0.000445
------------------------------------ k = 3 ------------------------------------
x1_current = -0.108148
x2_current = 2.215606
|x1 - x1_current| = 0.002465
------------------------------------ k = 4 ------------------------------------
x1_current = -0.108136
x2_current = 2.217791
|x1 - x1_current| = 1.2e-05
...
------------------------------------ k = 21 ------------------------------------
x1_current = -0.110084
x2_current = 2.222471
|x1 - x1_current| = 1e-06