python 练习题

继续练习题
# 计算阶乘
def factorial(n):
if n>2:
return n*factorial(n-1)
else:
return n
print(factorial(2))
print(factorial(1))
print(factorial(4))

# 求10以内所有数字平方之和
def quadratic_add(n):
result=0
for i in range(1,n+1):
print("i:",i)
a=i*i
print("a:",a)
result+=a
return result
print(quadratic_add(2))

# 输出10行内容,每行的内容都是第一行10个行,第二行9个,第三行8个。。。。最后一行1个星。
for i in range(10,0,-1):
print("*"*i,end=" ")
print("")
# 输出9行内容,,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789

for i in range(1,10):
for j in range(1,i+1):
print(j,end=" ")
print("")
# 计算2的20次方。不允许用**和pow()
result =1
for i in range(20):
result*=2
print(result)
# 计算从1到1000以内所有能被3或者17整除的数的和并输出
s=[]
for i in range(1,1001):
if i%3==0 or i%17==0:
s.append(i)
print(s)
# 计算从1到1000以内所有能同时被3,5和7整除的数的和并输出
s=[]
for i in range(1,1001):
if i%3==0 and i%5==0 and i%7==0:
s.append(i)
print(s)
# 计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数。
s=[]
for i in range(1,101):
if (i%7==0 and i%3!=0) or (i%3==0 and i%7!=0):
s.append(i)
print(s)


# 计算1到100以内能被7整除但不是偶数的数的个数。
count=0
s=[]
for i in range(1,101):
if i%7==0 and i%2!=0:
s.append(i)
count+=1
print(s)
print(count)


# 计算从1到100临近两个整数的合并依次输出。比如第一次输出3(1+2),第二次输出5(2+3),最后一次输出199
s=[]
for i in range(1,101):
if i>=2:
a=i-1+i
s.append(a)
print(s)
# 给定一个整数n,判断是否是质数(质数是只能被1和它自身整除的数)
import math
n=input("input a number:")
if n.isdigit():
n_new=int(n)
if n_new==1:
print(n_new,"不是质数")
if n_new==2:
print(n_new,"是质数")
for i in range(2,n_new):
if n_new%i==0:
print(n_new,"不是质数")
break
if i==n_new-1:
print(n_new,"是质数")
else:
print("输入格式不正确")
posted @ 2018-08-17 11:30  houyan_jessica  阅读(1310)  评论(0编辑  收藏  举报