【无标题】

第一题 

def Decimal_count(num):
    num = bin(num)
    ls = list(str(num))[2:]
    s_0 = 0
    t_1 = 0
    for i in ls:
        if int(i) == 0:
            s_0 += 1
        else:
            t_1 += 1
    return s_0, t_1
num = int(input('请输入一个整数:'))
print(f'将{num}转换为二进制为:{bin(num)[2:]}')
print(f'0的数量为:{Decimal_count(num)[0]}个')
print(f'1的数量为:{Decimal_count(num)[1]}个')

运行结果:请输入一个整数:20
将20转换为二进制为:10100
0的数量为:3个
1的数量为:2个

第三题

def count (n):
    if n%3==0:
        return False
    else:
        return True
sum = 0
for i in range (1,101):
    if count(i):
        sum += i
print (sum)


运行结果:PS D:\桌面\3.9python周末班\课堂代码> & D:/python/python.exe d:/桌面/3.9python周末班/课堂代码/作业3/第三题.py
3367

第四题

def count(n):
    if n == 1:
        return False
    for n in range(2,n//2 + 1):
        if n % i == 0:
            return False
    return True
N = int(input('请输入一个正整数N:'))
sum = 0
for n in range(1,N+1):
    if count(n):
        sum += n
print(f'1到N(含)之间所有质数的总和为:{sum}')

运行结果:
PS D:\桌面\3.9python周末班\课堂代码> & D:/python/python.exe d:/桌面/3.9python周末班/课堂代码/作业3/第二题.py
请输入一个正整数N:80
1到N(含)之间所有质数的总和为:791

第五题

def PI_count ():
    n = 0
    sum = 0
    for i in range(1,10000,2):
        sum += ((-1)**n)*(1/i)
        n += 1
    PI_count = 4*sum
    return PI_count
 
print(PI_count())

运行结果:
PS D:\桌面\3.9python周末班\课堂代码> & D:/python/python.exe d:/桌面/3.9python周末班/课堂代码/作业3/第五题.py
3.141392653591791

 第七题

def sum(a,n):
    sum_a = 0
    for i in range(1,n+1):
        num = int(f'{a}'*i)
        sum_a += num
    return sum_a
 
a = int(input('请输入一个在区间[1,9]的正整数:'))
n = int(input('请输入指定的项数:'))
print({sum(a,n)})

第八题

def list1(ls=[]):
    for i in range(len(ls)):
        if ls[i] % 2 != 0:
            for j in range(i + 1, len(ls)):
                if ls[j] % 2 == 0:
                    ls[i], ls[j] = ls[j], ls[i]
                    break
    return ls
 
 
ls = [2,4,7,9,8,5,6,2,3]
print(f'原列表为:{ls}')
print(f'新列表:{list1(ls)}')

运行结果:
PS D:\桌面\3.9python周末班\课堂代码> & D:/python/python.exe d:/桌面/3.9python周末班/课堂代码/作业3/第九题.py
原列表为:[2, 4, 7, 9, 8, 5, 6, 2, 3]
新列表:[2, 4, 8, 6, 2, 5, 9, 7, 3]

第一题

def get_num_duplicate(nums):
    
    temp = 0
    for i in range(0, len(nums)):
        temp ^= i ^ nums[i]
    return temp
 
if __name__ == '__main__':
	nums = [1,2,3,4,5,6,6]
	d = get_num_duplicate(nums)
	print(d)

运行结果:
PS D:\桌面\3.9python周末班\课堂代码> & D:/python/python.exe d:/桌面/3.9python周末班/课堂代码/第六天作业/第一题.py
6

 第二题

def m():
    ls = []
    for i in range(100001):
        flag = False
        if (i% 5 == 0 or i % 6 == 0) and i % 30 != 0:
            flag = True
        if flag:
            ls.append(i)
    print(ls)
 
m()

 

不死兔子
def rabbit_count (n):
    if n<=4:
        return 1
    return rabbit_count (n-1)+ rabbit_count (n-4)
n = int(input("请输入兔子月份"))
res = rabbit_count (n)       
print (n)

斐波那契数列
def sequence_count(n):
    if n==0 or n==1:
        return 1
    return sequence_count(n-1)+sequence_count(n-2)
s = int(input("请输入一个数字"))
r = sequence_count(s)
print (r)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值