Python 将类型从“无”更改为“整数”

Python 将类型从“无”更改为“整数”,python,python-3.x,types,nonetype,Python,Python 3.x,Types,Nonetype,我是python新手,我正在尝试编写一个程序来求解二次方程 问题是我不能向非类型变量添加整数,因为我已经决定将非类型变量更改为整数,但我不能。我试了很多次,但都没有成功 代码如下: # MY FIRST PROJECT import math a = 1 b = -4 c = 1 D = b**2-4*a*c print(D) Z=print("the square root of D is: %f" % math.sqrt(D)) print(type(Z)) if D < 0

我是python新手,我正在尝试编写一个程序来求解二次方程

问题是我不能向非类型变量添加整数,因为我已经决定将非类型变量更改为整数,但我不能。我试了很多次,但都没有成功

代码如下:

# MY FIRST PROJECT

import math

a = 1
b = -4
c = 1

D = b**2-4*a*c
print(D)

Z=print("the square root of D is: %f" % math.sqrt(D))
print(type(Z))

if D < 0:
 print("the problem can't be solved in R because D is negative")

if D == 0 :
 x = print(-b/2*a)

if D > 0:
 print("the problem has two solutions")
 y = print((-b+Z)/2*a)
 k = print((-b-Z)/2*a)

您的问题是由以下原因引起的:

Z=print("the square root of D is: %f" % math.sqrt(D))
它总是返回
None
(就像所有没有返回有意义值的函数一样;从用户定义的函数中省略或绕过
return
,也会隐式返回
None
),因此
Z
总是
None
。如果目标是将
D
的平方根指定给
Z
,则将其替换为:

Z = math.sqrt(D)
print("the square root of D is: %f" % Z)

如果D<0:则应在块处理后移动该代码,因为
math.sqrt
将在提供负输入时引发
ValueError

您的问题是由以下原因引起的:

Z=print("the square root of D is: %f" % math.sqrt(D))
它总是返回
None
(就像所有没有返回有意义值的函数一样;从用户定义的函数中省略或绕过
return
,也会隐式返回
None
),因此
Z
总是
None
。如果目标是将
D
的平方根指定给
Z
,则将其替换为:

Z = math.sqrt(D)
print("the square root of D is: %f" % Z)

如果D<0:则应在块处理后移动该代码,因为
math.sqrt
将在提供负输入时引发
ValueError

非常感谢。问题已经解决了。非常感谢非常感谢。问题已经解决了。非常感谢