小编Las*_*Cho的帖子

为什么运行python解释器和python代码之间的结果不同?

我在python解释器上创建了一个简单的代码并运行它.

Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> x=np.array([0,1])
>>> w=np.array([0.5,0.5])
>>> b=-0.7
>>> np.sum(w*x)+b
-0.19999999999999996
Run Code Online (Sandbox Code Playgroud)

结果-0.19999999999999996很奇怪.我认为......它是由IEEE 754规则引起的.但是当我尝试按文件运行几乎相同的代码时,结果会有很大不同.

import numpy as np
x = np.array([0,1])
w = np.array([0.5,0.5])
b = -0.7
print(np.sum(w * x) + b)
Run Code Online (Sandbox Code Playgroud)

结果是"-0.2".IEEE 754规则不会影响结果.

基于文件的运行和基于解释器的运行有什么区别?

python floating-point

5
推荐指数
1
解决办法
72
查看次数

pymssql-选择有效,但更新无效

在此处输入图片说明

import pymssql
import decimal

CONN = pymssql.connect(server='1233123123', user='s123', password='sa1231231', database='DBforTEST')
CURSOR = CONN.cursor()
"""it is good code. here is no problem"""
CURSOR.execute("SELECT ttt from test where w=2")
ROW = CURSOR.fetchone()
tmp = list()
tmp.append(ROW)
if ROW is None:
    print("table has nothing")
else:
    while ROW:
        ROW = CURSOR.fetchone()
        tmp.append(ROW)
print(tmp)
"""it works!"""

CURSOR.execute("""
                UPDATE test 
                SET 
                w = 16
                where ttt = 1
                """)
"it doesnt works"
Run Code Online (Sandbox Code Playgroud)

我在pymssql中使用python 3.5。

在我的代码中,SELECT状态有效,因此我可以保证连接是完美的。
但是UPDATE状态在Python中不起作用。
相同的代码在SSMS中有效。

问题是什么?
我猜SELECT状态仅用于读取,因此DB可以提供Data,但是UPDATE …

pymssql

1
推荐指数
1
解决办法
709
查看次数

标签 统计

floating-point ×1

pymssql ×1

python ×1