a=1
b=1
print (id(1)) //python讲-5~255放到小整数内存区,分配内存更高效
print (id(a))
print (id(b)) //赋值操作相当于建立起变量和对象的指向关系,三者id一样
input() 返回str input().split() #空格分开输入 #int (str)
import math
l=[]
for x in input("输入三边的边长:").split():
l.append(int(x))
s=(l[0]+l[1]+l[2])/2
print ("三角形的周长:%d",int(2*s))
链接
import math
a,b=input("输入两个数:").split()
g=math.gcd(int(a),int(b))
print ("%d和%d的最大公因子为:%d"%(int(a),int(b),g))
#计算两个数的最大公因子,借助math包
'''
原理:欧几里得算法:(扩展欧几里得算法)
假设:存在a,b
a=q*b+r
gcd(a,b)=gcd(b,r)=...gcd(ri,0)=ri
程序化:
a=bq0+r0 => r-2=r-1q0+r0 r=a%b
b=r0q1+r1 => r-1=r0q1+r1
r0=r1q2+r2
以此类推
rn=rn+1qn+2+rn+2
当rn+2=0=>rn=rn+1qn+2
最大公因子为rn+1
目标:在不借助包的前提下计算最大公因子,正整数
'''
def gcd(a,b):
'''
参数说明:a,b为int型 ,需要转换 str->int
思路一:循环 while
法一:采用循环结构 时间复杂度(logn)
'''
while(a%b):
r=a%b #暂存
a=b
b=r
return b
'''
a=gcd(4471,2295)
print(a)
'''
def gcd_re(a,b):
'''
法二:递归
'''
if(a%b==0): #终止条件
return b
else:
return gcd_re(b,a%b)
'''
a=gcd_re(2295,4471)
print(a)
'''
import turtle
turtle.position()
turtle.home()
turtle.pencolor("blue")
turtle.speed("slowest")
'''
三角形
for i in range(3):
turtle.forward(200)
turtle.left(120.0)
'''
'''
五角星
for i in range(5):
turtle.forward(200)
turtle.right(144.0)
'''
turtle