python第五天作业

python第五天作业,第1张

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

作业5:
输入数,判断这个数是否是质数(要求使用函数 + 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}是个合数")


作业6:求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=(''))


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

def hua():
    a = range(100, 1000)
    for i in range(0, 900):
        n = a[i] // 100
        m = (a[i] // 10) % 10
        j = a[i] % 10
        if a[i] == n ** 3 + m ** 3 + j ** 3:
            print(a[i]) 
hua()

作业8:验证:任意一个大于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("猜想错误")


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

for i in range(10000, 100000):
a = i // 10000
b = i % 10000 // 1000
c = i % 1000 // 100
d = i % 100 // 10
e = i % 10
A = int(str(a) + str(b) + str(c) + str(d) + str(e) + "7")
B = int("7" + str(a) + str(b) + str(c) + str(d) + str(e))
if B // 5 == A:
    print(i)


作业10:有一种最简真分数,它们的分子与分母的乘积都是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}"


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


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

def num():
    for i in range(100, 1000):
        a = i // 100
        b = i % 100 // 10
        c = i % 10
        s = i // 11
        h = a + b + c
        if s == h:
            print(i)
num()


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

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


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

num = int(input("请输入N:"))
def zhishu(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))
zhishu(num)


作业19:计算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)))


作业31:给定一个10个元素的列表,请完成排序(注意,不要使用系统api)

list1 = [9,6,8,7,4,2,3,5,1,0]
def list(ls):
    for i in range(len(ls) - 1):
        for j in range(len(ls) - 1):
            if ls[j] > ls[j + 1]:
                ls[j], ls[j + 1] = ls[j + 1], ls[j]
    return ls
list2 = list(list1)
print(list2)


作业32:求 a+aa+aaa+…+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。


a = int(input("请输入数字 a:"))
num = int(input("请输入几个数相加:")) 
def count(m, n):
    s = 0
    h=0
    for i in range(0, n):
        s += m * 10 ** i
        h += s
    return h
print("相加之后的结果为=",count(a, num))


作业33:合并两个有序数组,合并后还是有序列表

ls1 = [1, 3, 5, 7, 9]
ls2 = [0, 2, 4, 6, 8]
def list(ls1, ls2):
    ls3 = ls1 + ls2
    ls3.sort()
    print(f"排序后{ls3}")
list(ls1, ls2)


作业34:给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
def num(list):
    ls = []
    for i in list:
        if i % 2 == 0:
            ls.append(i)
    for i in list:
        if i % 2 != 0:
            ls.append(i)
    return ls
print(num(list))


作业35:将10进制数据转换为二进制,并且统计其中的0和1的数量

def shu(nums):
    a = 0
    b= 0
    for i in nums:
        if i == "0":
            a += 1
        else:
            b += 1
    print(f"{num}转换二进制后,'0'有{a},'1'有{b}") 
num = int(input("请输入一个整数:"))
res = bin(num)
res = res[2:]
print("转换为二进制后为:", res)
shu(res)


作业36:给定一个数组,已知数组中的元素都是成对出现,
现在数组中只有一个元素没有成对,请找出这个元素。



[1,3,1,2,2,8,8]

def ls(num):
    num_dict = {}
    for i in num:
        num_dict.setdefault(i, 0)
        num_dict[i] += 1
    for i in num_dict:
        if num_dict[i] == 1:
            print(f'只出现一次的数字为{i}')
num = [1, 3, 1, 2, 2, 8, 8]
ls(num)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/570179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存