本教程分享:《python平方》,Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
Python(计算机程序设计语言)
python 算一组数字的平方和
输入以下代码会报错,应该怎么改呢?TypeError: can't multiply sequence by non-int of type 'tuple'
代码如下:
def power(*number):
sum=0
for n in number:
sum=sum+n*n
return sum
list1=tuple(range(0,5))
print(power(list1))
但是我输入:power(1,2,3) 就正确了,两者区别是什么?
你这个问题的根本在于(1,2,3) 和 ((1,2,3))的区别
当你循环遍历的时候 前面这个遍历出来的是单个元素,分别为 1 2 3 后面遍历出来的是一个元素(1,2,3)
你的power要接收的是一个具有多个int元素的元组 说白了 你就是多套了一层
power(1,2,3)就正确 你试试power((1,2,3)) 肯定报错是一样的
问题点,我已经找到了,但是这个要怎么改呢?
怎么用python求一个数的平方
defsumOfSquaresOfDigits(n):x=n**2returnxprint(sumOfSquaresOfDigits(int(input())))...
def sumOfSquaresOfDigits(n):
x = n ** 2
return x
print(sumOfSquaresOfDigits(int(input())))
如何用python求0到1的某数的平方数
你这问题也是模糊,,
python 求 0 到某个数之间的所有平方数的意思?
先开方去整,求出有多少个平方数,然后就好办了。
Python编程中次方运算怎么输入
比如说2的五次方,或者2的(X-1)次方这个怎么输入??
希望高手帮忙解答,急啊!
python中有次方运算符的,**,2个连续的星号就是次方
比如。2的5次方就是2**5
python编程,我建立一个2*2矩阵,然后想其中每个元...
python编程,我建立一个2*2矩阵,然后想其中每个元素都乘上一个实数,于是我在矩阵后加上*2.5,但是它说不能乘上一个非int的float类型数字,怎么办?急,在线求助
安装numpy,利用numpy数组:
>>> import numpy
>>> array1 = numpy.array([[1, 2], [3, 4]])
>>> array1
array([[1, 2],
[3, 4]])
>>> array1 * 2.5
array([[ 2.5, 5. ],
[ 7.5, 10. ]])
如果你用的是python的列表,它的乘法是列表的自我复制,[1, 2] * 2就是[1, 2, 1, 2]
python确定一个数是不是完全平方数
1. 与依赖于任何浮动的问题(math.sqrt(x)或x**0.5)是你不能真正确定它的准确(对充分大的整数x,它不会是,甚至有可能溢出)。幸运的(如果是不急于;-)有很多纯整数的方法,如下面的...:
def is_square(apositiveint):
x = apositiveint // 2
seen = set([x])
while x * x != apositiveint:
x = (x + (apositiveint // x)) // 2
if x in seen: return False
seen.add(x)
return True
for i in range(110, 130):
print i, is_square(i)
提示:它是基于“巴比伦算法”的平方根,请参阅维基百科。它适用于任何正数,而您有继续 编辑:让我们看一个例子...
x = 12345678987654321234567 ** 2
for i in range(x, x+2):
print i, is_square(i)
这种版画,根据需要(和太;-)一个合理的金额:
152415789666209426002111556165263283035677489 True
152415789666209426002111556165263283035677490 False
请您提出了一种基于浮点结果的解决方案之前 CodeGo.net,确保他们正确地工作在这个简单的例子-它不是那么难(你只需要一些额外的检查,以防是有点过),只是需要多一点的关怀。 然后尝试用x**7并找到解决您会得到这个问题巧妙的方式,
OverflowError: long int too large to convert to float
你必须得到越来越多的聪明的数量不断增加,当然。 如果我很着急,当然,我gmpy-但后来,我明显偏向;-)。
>>> import gmpy
>>> gmpy.is_square(x**7)
1
>>> gmpy.is_square(x**7 + 1)
0
是啊,我知道,这只是很容易感觉像作弊(有点我总体感觉对Python的;-)的方式-没有聪明可言,只是完美的直接和简单(和,在gmpy,绝对速度的情况下;-) ...
2. 用牛顿的快速零最接近的整数的平方根,那么它平方,看看它是否是你的号码。见isqrt。
3. 因为你永远无法靠当浮动(如计算平方根的这些方式),一个不易出错将是对处理
import math
def is_square(integer):
root = math.sqrt(integer)
if int(root + 0.5) ** 2 == integer:
return True
else:
return False
想像integer是9。math.sqrt(9)可能是3.0的,但它也可以是像2.99999或3.00001,因此现蕾结果马上是不可靠的。知道int取整数值,通过增加浮点值0.5我们会得到我们要找的,如果我们是在一个范围内的值,其中float仍然有足够细的分辨率来表示附近的一个为我们所期待的数字。
4. 我是新来的堆栈溢出,并做了一个快速脱脂找到解决的办法。我只是张贴在另一个线程(寻找完美的正方形)上的例子,一个细微的变化上面,我想我会包括什么,我贴在这里有一个细微的变化(使用nsqrt作为一个临时变量),如果它的利益/使用:
import math
def is_perfect_square(n):
if not ( ( isinstance(n, int) or isinstance(n, long) ) and ( n >= 0 ) ):
return False
else:
nsqrt = math.sqrt(n)
return nsqrt == math.trunc(nsqrt)
5. 你可以二进制搜索的圆形平方根。平方的结果,以确定它的原始值相匹配。 你可能会更好过与FogleBirds回答-虽然小心,因为浮点数是近似的,它可以抛出这种方法了。你可以在原则上得到一个假阳性从一个大的整数,较完美的正方形,例如,由于丢失精度1以上。
6.
>>> def f(x):
... x = x ** 0.5
... return int(x) == x
...
>>> for i in range(10):
... print i, f(i)
...
0 True
1 True
2 False
3 False
4 True
5 False
6 False
7 False
8 False
9 True
7. 决定多久的数量就越大。 采取增量0.000000000000 ....... 000001 见,如果(SQRT(X))^ 2-x是大于/等于/大于δ较小并且基于增量误差决定。
8. 我不知道Python的,但你可以不喜欢:
function isSquare(x) = x == floor(sqrt(x) + 0.5)^2
也就是说,拿一个数,求平方根,四舍五入到最接近的整数,它平方,并测试它是作为原来的号码。 (floor并加入0.5做是为了防止类似案件sqrt(4)回国1.9999999...由于浮点运算,麦克grahams指出。) 如果你有兴趣,曾经有一个很好的判断以最快的方式,如果一个整数的平方根是一个整数。 编辑澄清。
9. 该回复不属于你的declarative的问题,而是一个隐含的问题,我在您发布的代码中看到,即“如何检查是否是整数?” 优先个回答你通常得到这个问题是“不要!”并且这是真的,在Python,类型检查不应该做的事情。 对于那些极少数的异常,不过,不是寻找数字的字符串表示小数点,那东西做isinstance函数:
>>> isinstance(5,int)
True
>>> isinstance(5.0,int)
False
当然适用于变量,而不是一个值。如果我想确定该值是否是一个整数,我会做到这一点:
>>> x=5.0
>>> round(x) == x
True
但正如其他人已经详细介绍,也有这种事情的大多数非玩具的例子来加以考虑浮点问题。
10. 我有轻微的原始巴比伦的方法。取而代之的是一套以存储每个生成的近似,只是最近的两个近似的存储和核对电流近似。这保存了大量的通过整套的近似值的浪费检查。我的java,而不是python和BigInteger类,而不是一个正常的原始整数。
BigInteger S = BigInteger.ZERO;
BigInteger x = BigInteger.ZERO;
BigInteger prev1 = BigInteger.ZERO;
BigInteger prev2 = BigInteger.ZERO;
Boolean isInt = null;
x = S.divide(BigInteger.valueOf(2));
while (true) {
x = x.add(preA.divide(x)).divide(BigInteger.valueOf(2));
if (x.pow(2).equals(S)) {
isInt = true;
break;
}
if (prev1.equals(x) || prev2.equals(x)) {
isInt = false;
break;
}
prev2 = prev1;
prev1 = x;
}
python如何求平方根
Python求平方根至少有三种方式
1.最简单的方式是求0.5次方4 ** 0.5
2.使用math包的sqrt函数math.sqrt(4)
3.使用numpy包的sqrt函数numpy.sqrt(4)
python 怎么输出“X^2”,就是X的平方这样的字符
python 怎么输出“X^2”,就是X的平方这样的字符。是字符,给图加标示用的,不是X**2这样的运算。
python的平方运算符是**。比如10**2表示10的平方。
要输出x^2字符串。使用print('x^2')即可。
python里的复数计算,1j*2不是表示平方么
二次方程,先计算判别式,判别式小于0 的,说明方程有复数根,那么就用Complex类型来表示就行了,Complex类型是python的内置类型。 1+2*i 就写成 x=complex(1,2)