1.判断以下哪些不能作为标识符(F)
A、a
B、¥a
C、_12
D、$a@12
E、false
F、False
作业2:输入数,判断这个数是否是质数(要求使用函数 + for循环)
def isPrime(n):
"""将上面代码封装为函数"""
flag = True
for i in range(2, num):
if num % i == 0:
flag = False
break
if flag:
print(f"{num}是个质数")
else:
print(f"{num}是个合数")
if __name__ == '__main__':
num = int(input("请输入一个整数,判断是否为素数:"))
isPrime(num)
作业3:求50~150之间的质数是那些?
for i in range(50,150):
flag = True
for j in range(2,i):
if i % j == 0:
flag = False
break
if flag:
print("%s是质数" %(i))
4:打印输出标准水仙花数,输出这些水仙花数
sum = 0
print("所有的3位水仙花数:")
for x in range(100,1000): #定义x范围
low = x % 10 #取余数即最低位的数
high = x // 100 #取高的数
middle = (x // 10) % 10 #取中间的数
sum = low** 3 + high** 3 + middle** 3 #求和
if sum == x:
print(x) #输出结果
作业5:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
def check(num):
count = 0
start_num = num
while num != 0:
count += num % 10
num //= 10
if (start_num - count) % 9 == 0:
return True
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的五倍,求此五位数.
for i in range(10000,100000):
index=7
A=str(i)+str(index)
B=str(index)+str(i)
if(int(B)==int(A)*5):
print(f"{i}")
作业7:有一种最简真分数,它们的分子与分母的乘积都是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():
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所得的商等于它各位数字之和
for i in range(100,1000):
baiwei = i//100
gewei = (i%100)%10
shiwei = (i%100)//10
if (i//11) ==(gewei+shiwei+baiwei):
print(i)
作业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整除的数之和
i=1
sum=0
while i<=100:
if i % 3 ==0:
sum+=i
i+=1
print(sum)
12:给定一个正整数N,找出1到N(含)之间所有质数的总和
N=int(input("请输入N:"))
for i in range(1,N+1):
flag = True
for j in range(2,i):
if i % j == 0:
flag = False
break
if flag:
sum=0
sum+=i
print("%s是质数" %(i))
print(f"{sum}")
13:计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
n=int(input('请输入正整数n:'))
s = 0
a = 0
for i in range(1,n+1,2):
s += 1 / i * (-1) ** a
a += 1
print('pi的近似值是', 4*s, sep='')