一、求一个十进制的数值的二进制的0、1的个数
1.代码
num = int(input("输入一个十进制数:")) #输入十进制数
binary_num = bin(num)[2:] #十进制数转换成二进制
count1 = binary_num.count('0') #该数在二进制中0的个数
count2 = binary_num.count('1') #该数在二进制中1的个数
print(f"十进制转换成二进制为:{binary_num}")
print(f"0的个数为:{count1}")
print(f"1的个数为:{count2}")
2.运行结果
二、实现一个用户管理系统(要求使用容器保存数据) [{name: xxx, pass: xxx, ……},{},{}]
1.代码
class UserManagementSystem:
def __init__(self):
self.users = []
def add_user(self, name, password):
for user in self.users:
if user['name'] == name:
print(f"用户 {name} 已存在")
return
new_user = {'name': name, 'password': password}
self.users.append(new_user)
print(f"用户 {name} 添加成功")
def list_users(self):
if not self.users:
print("目前没有用户")
else:
for user in self.users:
print(f"Name: {user['name']}, Password: {user['password']}")
ums = UserManagementSystem()
ums.add_user('user1', 'pass1')
ums.add_user('user2', 'pass2')
ums.list_users()
2.运行结果
三、求1~100之间不能被3整除的数之和
1.代码
sum_i = 0
for i in range(1, 101):
if i % 3!= 0:
sum_i += i
print(sum_i)
2.运行结果
四、给定一个正整数N,找出1到N(含)之间所有质数的总和
1.代码
def isPrime(num):
if num ==1:
return False
for i in range(2, int(num ** 0.5)+1):
if num % i== 0:
return False
return True
N = int(input("输入一个正整数N:"))
sum_Prime = 0
for num in range(1, N+1):
if isPrime(num):
sum_Prime += num
print(f"1到N之间所有质数的总和为:{sum_Prime}")
2.运行结果
五、计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
1.代码
n = 1000000 # 调整这个值来控制精度,值越大精度越高
pi = 0
sign = 1
for i in range(1, n * 2, 2):
pi += sign * (1 / i)
sign *= -1
pi *= 4
print(f"计算得到的圆周率近似值为:{pi}")
2.运行结果
六、给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
1.代码
def selection_sort(ls=[]):
for i in range(len(ls)):
index_min = i
for j in range(i+1,len(ls)):
if ls[index_min] > ls[j]:
index_min = j
ls[index_min],ls[i] = ls[i],ls[index_min]
return ls
ls = [55, 8, 12, 67, 64, 87, 3, 9, 2, 28]
print(f'原列表为:{ls}')
print(f'选择排序法排序后的列表为:{selection_sort(ls)}')
2.运行结果
七、求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定
1.代码
def one_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(f'所求多项式的和为:{one_sum(a,n)}')
2.运行结果
八、合并两个有序数组,合并后还是有序列表
1.代码
def selection_sort(ls=[]):
for i in range(len(ls)):
index_min = i
for j in range(i+1,len(ls)):
if ls[index_min] > ls[j]:
index_min = j
ls[index_min],ls[i] = ls[i],ls[index_min]
return ls
ls_1 = [1,3,5,7,9]
ls_2 = [2,4,6,8,10]
print(f'原有序列表1为:{ls_1}')
print(f'原有序列表2为:{ls_2}')
ls_1.extend(ls_2)
print(f'合并后的有序列表为:{selection_sort(ls_1)}')
2.运行结果
九、给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
1.代码
def before(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 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(f'原列表为:{ls}')
print(f'将偶数置于奇数前,列表变为:{before(ls)}')