1. 求一个十进制的数值的二进制的0、1的个数
def count_binary_ones(n):binary_str = bin(n)[2:] # 转换为二进制字符串,去除前缀'0b'print(f"{n} 的二进制为: {binary_str}")return binary_str.count('0'), binary_str.count('1')
n = int(input("输入一个数:"))
zeros, ones = count_binary_ones(n)
print(f"这个数的0有: {zeros}个")
print(f"这个数的1有: {ones}个")
2. 实现一个用户管理系统(要求使用容器保存数据)
[{name: xxx, pass: xxx, ……},{},{}]
person_list = []def show_menu():print("=================== 用户管理系统V1.0 ===================")print("1. 注册用户")print("2. 删除用户")print("3. 修改用户信息")print("4. 查询用户信息")print("5. 显示所有用户信息")print("6. 退出")def add_person():name = input("请输入的您的姓名:")age = input("请输入的您的年龄:")sex = input("请输入的您的性别:")person_dict = {"name": name, "age": age, "sex": sex}person_list.append(person_dict)print("注册成功!")print("\n")def show_all_person():for index, person_dict in enumerate(person_list):person_no = index + 1print("编号: %d 姓名: %s 年龄: %s 性别: %s" % (person_no,person_dict["name"],person_dict["age"],person_dict["sex"]))print("\n")def remove_person():person_no = int(input("请输入您要删除用户的编号:"))index = person_no - 1if 0 <= index < len(person_list):person_dict = person_list.pop(index)print("%s, 删除成功!" % person_dict["name"])print("\n")else:print("请输入合法的编号!")print("\n")def modify_person():person_no = int(input("请输入您要修改用户的编号:"))index = person_no - 1if 0 <= index < len(person_list):modify_person_dict = person_list[index]modify_person_dict["name"] = input("请输入您修改后的姓名:")modify_person_dict["age"] = input("请输入您修改后的年龄:")modify_person_dict["sex"] = input("请输入您修改后的性别:")print("修改成功!")print("\n")else:print("请输入您的合法编号!")print("\n")
def query_person():name = input("请输入要查询用户的姓名:")for index, person_dict in enumerate(person_list):if person_dict["name"] == name:person_no = index + 1print("编号: %d 姓名: %s 年龄: %s 性别: %s" % (person_no,person_dict["name"],person_dict["age"],person_dict["sex"]))print("\n")breakelse:print("对不起,您查找的用户信息不存在!")print("\n")def start():while True:show_menu()menu_option = input("请输入您要操作的功能选项:")if menu_option == "1":print("\n")add_person()elif menu_option == "2":print("\n")remove_person()elif menu_option == "3":print("\n")modify_person()elif menu_option == "4":print("\n")query_person()elif menu_option == "5":print("\n")show_all_person()elif menu_option == "6":print("期待您下次使用~")breakstart()
3. 求1~100之间不能被3整除的数之和
total_sum = 0for num in range(1, 101):if num % 3 != 0:total_sum += numprint("1~100之间不能被3整除的数之和为:", total_sum)
4. 给定一个正整数N,找出1到N(含)之间所有质数的总和
def is_prime(num):if num <= 1:return Falseif num <= 3:return Trueif num % 2 == 0 or num % 3 == 0:return Falsei = 5while i * i <= num:if num % i == 0 or num % (i + 2) == 0:return Falsei += 6return Truedef sum_of_primes(N):total_sum = 0for num in range(2, N + 1):if is_prime(num):total_sum += numreturn total_sumN = int(input("请输入一个正整数 N:"))
prime_sum = sum_of_primes(N)
print("1 到", N, "之间所有质数的总和为:", prime_sum)
5. 计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
pi = 1
f = -1
i = 3
while 1 / i > 1e-6:pi = pi + 1 / i * fi = i + 2f = -f
print("pi=%.6f" % (pi * 4))
6. 给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
def get_one(arr):n = len(arr)for i in range(n):min_index = ifor j in range(i + 1, n):if arr[j] < arr[min_index]:min_index = jarr[i], arr[min_index] = arr[min_index], arr[i]# 示例列表
my_list = [9,5,7,6,3,4,8,15,11]print("原始列表:", my_list)
get_one(my_list)
print("排序后的列表:", my_list)
7. 求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
a = int(input("输入1~9之间的一个数:"))def get_aa(n):sum_result = 0temp_a = a # 保存初始输入的值for i in range(6):sum_result += temp_atemp_a = temp_a * 10 + 2return sum_result
sum_result = get_aa(a)
print("sum=", sum_result)
8. 合并两个有序数组,合并后还是有序列表
def get_two(arr1, arr2):merged_array = []i = j = 0while i < len(arr1) and j < len(arr2):if arr1[i] < arr2[j]:merged_array.append(arr1[i])i += 1else:merged_array.append(arr2[j])j += 1while i < len(arr1):merged_array.append(arr1[i])i += 1while j < len(arr2):merged_array.append(arr2[j])j += 1return merged_array# 示例数组
arr1 = [1, 3, 5, 7, 9]
arr2 = [2, 4, 6, 8, 10]merged = get_two(arr1, arr2)
print("arr1:",arr1)
print("arr2:",arr2)
print("合并后的有序列表:", merged)
9. 给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
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]breakreturn lsls = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(f'原列表为:{ls}')
print(f'将偶数置于奇数前,列表变为:{before(ls)}')