python第四天作业

作业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)

上一篇:使用python 实现排序算法


下一篇:python---列表解析式