作业1、判断以下哪些不能作为标识符 BDF
A、a
B、¥a
C、_12
D、$a@12
E、false
F、False
作业2:
输入数,判断这个数是否是质数(要求使用函数 + for循环)
def zhishu(num):
for i in range(2,num):
if num%i==0:
print("不是质数")
break
else:
i+=1
else:
print("是质数")
zhishu(int(input("请输入一个数:")))
作业3:求50~150之间的质数是那些?
def zhishu():
for i in range(50,101):
for j in range(2,i+1):
if i%j==0:
break
else:
j+=1
if j==i:
print(i)
i+=1
zhishu()
作业4:打印输出标准水仙花数,输出这些水仙花数
def shuixianhua():
for num in range(100,1000):
a=num//100
b=num//10%10
c=num%10
if(a*a*a+b*b*b+c*c*c==num):
print(num)
shuixianhua()
作业5:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
def check(num):
"""
验证:任意一个大于9的整数
减去它的各位数字之和所得的差,
一定能被9整除.
"""
i=0
start_num=num
while num!=0:
i+=num%10
num//=10
if((start_num-i)%9==0):
return True
else:
return False
num = int(input("请输入一个大于9的整数:"))
while num < 10:
num = int(input("对不起,输入的数必须大于9:"))
if check(num):
print("符合规律")
else:
print("不符合规律")
作业6:一个五位数,若在它的后面写上一个7,得到一个六位数A,
若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此
五位数.
def wuweishu():
for a in range(1,10):
for b in range(0,10):
for c in range(0,10):
for d in range(0,10):
for e in range(0,10):
if ((a*100000+b*10000+c*1000+d*100+e*10+7)*5==700000+a*10000+b*1000+c*100+d*10+e):
return a*1000+b*1000+c*100+d*10+e
num=wuweishu()
print(num)
作业7:有一种最简真分数,它们的分子与分母的乘积都是140,把
所有这样的真分数从小到大打印出来
"""
有一种最简真分数,它们的分子与分母的乘积都是140,把
所有这样的真分数从小到大打印出来
"""
for i in range(1, 12):
for j in range(2, 141):
if (i < j) and (i * j == 140):
print(f"{i} / {j}")
作业8:某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去
除余数都是1,求这 个自然数.
def get_num():
"""
某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去
除余数都是1,求这个自然数
"""
index = 560
while True:
if (index % 7 == 0) and (index % 2 == 1) and (index % 3 == 1) and (index % 4 == 1) and (index % 5 == 1) and (index % 6 == 1):
return index
index += 1
print(get_num())
作业9:编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和
def sanweishu():
"""
编程求出满足以下条件的三位数:
它除以11所得的商等于它各位数字之和
"""
for num in range(100,1000):
a=num//100
b=num//10%10
c=num%10
if num//11==a+b+c:
return num
num=sanweishu()
print(num)
作业10:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
[10, 8, 5, 3, 27, 99]
def get_cron(ls):
"""
有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
"""
count = 0
for i in ls:
if i & 1 == 0:
count += i // 2
else:
count += i // 2 + 1
return count
if __name__ == '__main__':
data = [10, 8, 5, 3, 27, 99]
count = get_cron(data)
print(f"最少需要{count}次才可以拿完硬币")
作业11:求1~100之间不能被3整除的数之和
def sum():
sum=0
for num in range(1,101):
if num%3!=0:
sum+=num
return sum
print(sum())
作业12:给定一个正整数N,找出1到N(含)之间所有质数的总和
def zhishu(N):
sum=3
for i in range(3,N+1):
for j in range(2,i):
if i%j==0:
break
else:
j+=1
if j==i:
print(i)
sum+=i
i+=1
return sum
sum=zhishu(int(input("请输入一个数:")))
print(sum)
作业13:计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
def PI():
pi=1
i=1
sign=1
while True:
sign = sign * (-1)
pi = pi + sign*1/(2*i+1)
if(1/(2*i+1) < 0.00000001):
break
i+=1
return pi*4
PI=PI()
print(PI)