def isArmstrongNumber(n):
a = []
t = n
while t > 0:
a.append(t % 10)
t /= 10
l = len(a)
return sum([x ** l for x in a]) == n
for x in range(100,1000):
if isArmstrongNumber(x):
print(x)
这是一个关于ArmstrongNumber的问题,当我F5这段代码时,它是显示溢出错误:==================
不久前(我记不清在哪里了)我找到了这个python代码片段,它实现了一种计算Pi数字的spigot算法:
def pi_digits():
"""generator for digits of pi"""
q,r,t,k,n,l = 1,0,1,1,3,3
while True:
if 4*q+r-t < n*t:
yield n
q,r,t,k,n,l = (10*q,10*(r-n*t),t,k,(10*(3*q+r))/t-10*n,l)
我使用Python2.7.12;我正在学习的算法书使用Python 3。直到现在,我发现我可以很容易地将大多数算法转换为Python 2,但是这个平方根函数,使用牛顿定律,仍然无法实现。
下面是代码,在其最初的Python 3中。
def square_root(n):
root = n / 2 #initial guess will be 1/2 of n
for k in range(20):
root = (1 / 2) * (root + (n / root))
return root
下面是在Python2.7.12中调用函数时的错误:
pri
我在C++中有一个函数,它返回正数a放大的b倍。在C++中,这个函数运行时没有错误,但是我想在Python中使用这个函数。有人能说出为什么这个函数返回的结果是C++,但是没有在Python中返回它,或者我在Python代码中犯了一个错误?
我知道我可以用许多其他的方式编写这个函数,并且这个函数可能不是最好的解决方案,但是这个特殊的例子有什么问题呢?我需要做些什么才能在Python中运行它,而不需要编写新的、更好的函数。为什么我可以在C++中运行这段代码,而不能在Python中运行?
C++代码:-
int exp(int a,int b){
int result=1;
whil
当我运行以下Python代码时,我使用Python2.7和Python3.4获得了不同的结果,我不知道为什么.
import sys
def main():
total = 0
number = 568
while number:
total += number % 10
print("total = %d" % total)
number /= 10
if __name__ == '__main__':
main()
使用Python2.7输出结果:
共计=8
共计= 14
大约半个小时的思考“我做错了什么!”5行代码..。因为Python3在某种程度上舍入了大整数。任何人都知道为什么会出现这样的问题:
Python2:
int(6366805760909027985741435139224001 # This is 7**40.
/ 7) == 909543680129861140820205019889143 # 7**39
Python3:
int(6366805760909027985741435139224001
/ 7) == 909543680129861204865300750663680 # I have no i
我用Python尝试了各种方法来求和一个数字的所有位数,有两种方法似乎适合我的需要。
sum(map(int,str(num))) #First Method
def sum_digits(n): #Second Method
total = 0
while n != 0:
total += n%10
n /= 10
return total
在Python 2中,方法1的速度更慢,这并不让我感到惊讶,但当我将相同的代码添加到Python 3中时,让我有点惊讶的是,方法2实际上变慢了。我知道在python3中改变了map,这似乎解释了第一
a = 123
def rev(n):
r = 0
while n>0:
r *= 10
r += n % 10
n /= 10
return r
print(rev(a)) 当我在python2上运行这段代码时,它工作得很好。但在那之后我尝试在python3上运行它,它返回 inf 我错过了什么? 抱歉,我的英语很差
我正在remixIDE上建立空投智能合同。我想发送airdropToken,这取决于用户有多少stakeTokens。当我添加一个用户时,契约生效,用户获得airdropToken。但是当我添加多个用户时,它不起作用。airdropToken和airdropTokenList的结果只显示0。
pragma solidity 0.5.17;
contract Airdrop is Ownable{
using SafeMath for uint256;
//Vairables
uint256 BIGNUMBER = 10**18;
uint256 total
试图在python中为“学习Python书”中的项目制作一个简单的计数器
简短:编写一个对用户有意义的程序。让用户输入起始号码、结束号和要计数的金额。
问题:好的,基本上是要确保如果用户要键入
in (start at 2 and count to 17 in 2's) that the program would flag it up as not possible.
print ("Welcome to the program for those who are to lazy to count")
print ("You mus