Python第四天作业

作业1、将上节课的作业,统统使用函数封装一次

def test(m, n, z):
    if z == "+":
        print(m + n)
    elif z == "-":
        print(m - n)
    elif z == "*":
        print(m * n)
    elif z == "/":
        print(m / n)
    elif z == "%":
        print(m % n)
    elif z == "//":
        print(m // n)
    elif z == "**":
        print(m ** n)


m = eval(input("输入第一个数:"))
n = eval(input("输入第一个数:"))
z = input("输入运算符:")
test(m, n, z)

...
作业2、判断以下哪些不能作为标识符B D F
    A、a
    B、¥a
    C、_12
    D、$a@12
    E、false
    F、False

作业3:输入数,判断这个数是否是质数(要求使用函数 + for循环)

num = int(input("请输入一个数:"))


def zhi_shu(num):
    for i in range(2, num // 2 ):
        if num % i == 0:
            return False
        else:
            return True


flag = zhi_shu(num)

if flag:
    print(f"{num}是个质数")
else:
    print(f"{num}是个合数")

 

 作业4:求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(f"{i}是素数", end=(''))

作业5:打印输出标准水仙花数,输出这些水仙花数 

def shui_xian_hua():
    a = range(100, 1000)
    for i in range(0, 900):
        bai = a[i] // 100
        shi = (a[i] // 10) % 10
        ge = a[i] % 10
        if a[i] == bai ** 3 + shi ** 3 + ge ** 3:
            print(a[i])


shui_xian_hua()

 作业6:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.

a = input("请输入一个大于九的数:")
b = []
c = 0
d = 0
for i in range(0, len(a)):
    b.append(a[i])

for i in range(0, len(b)):
    d = d + int(b[i])
c = int(a) - d

if i // 9 == 0:
    print("猜想正确")
else:
    print("猜想错误")

# def test(num):
#     count = 0
#     star_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 test(num):

作业7:一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.

for i in range(10000, 100000):
    w = i // 10000
    q = i % 10000 // 1000
    b = i % 1000 // 100
    s = i % 100 // 10
    g = i % 10
    A = int(str(w) + str(q) + str(b) + str(s) + str(g) + "7")
    B = int("7" + str(w) + str(q) + str(b) + str(s) + str(g))
    if B // 5 == A:
        print(i)

 作业8:有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来

for i in range(1, 140):
    for j in range(1, 140):
        if i / j < 1 and i * j == 140 :
            if i & 1 == 0 and j & 1 == 0:
                break
            else:
                print(f"{i}/{j}")

作业9:某数被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())

 作业10:编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和

def test_10():
    for i in range(100, 1000):
        b = i // 100
        s = i % 100 // 10
        g = i % 10
        shang = i // 11
        he = b + s + g
        if shang == he:
            print(i)


test_10()


作业11:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币[10, 8, 5, 3, 27, 99]

def test_11(num):
    if num % 2 == 0:
        print(f"{num / 2}次可以拿完")
    else:
        print(f"{num // 2 + 1}次可以拿完")


test_11(10)
test_11(8)
test_11(5)
test_11(3)
test_11(27)
test_11(99)
# def get_cron(ls):
#     count = 0
#     for i in ls:
#         count += i // 2 + i % 2
#     return count
# 
# 
# data = [10, 8, 5, 3, 27, 99]
# countx = get_cron(data)
# print(f"最少需要{countx}次才可以拿完硬币")


作业12:求1~100之间不能被3整除的数之和

array = []
for i in range(1, 100):
    if i % 3 != 0:
        array.append(i)
print(sum(array))

 作业13:给定一个正整数N,找出1到N(含)之间所有质数的总和

num = int(input("请输入N:"))


def test_13(n):
    array = []
    for i in range(2, n):
        for j in range(2, i):
            if i % j == 0:
                break
        else:
            array.append(i)
    print(sum(array))


test_13(num)

 作业14:计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)

a = int(input(":"))
array1 = []
array2 = []
for i in range(1, a, 2):
    m = 1 / (2 * i - 1)
    array1.append(m)
for i in range(2, a, 2):
    n = 1 / (2 * i - 1)
    array2.append(n)
print( 4*(sum(array1) - sum(array2)))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值