python作业4

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='')


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值