第一题
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)