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 + 1
print("编号: %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 - 1
if 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 - 1
if 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 + 1
print("编号: %d 姓名: %s 年龄: %s 性别: %s" % (person_no,
person_dict["name"],
person_dict["age"],
person_dict["sex"]))
print("\n")
break
else:
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("期待您下次使用~")
break
start()
3. 求1~100之间不能被3整除的数之和
total_sum = 0
for num in range(1, 101):
if num % 3 != 0:
total_sum += num
print("1~100之间不能被3整除的数之和为:", total_sum)
4. 给定一个正整数N,找出1到N(含)之间所有质数的总和
def is_prime(num):
if num <= 1:
return False
if num <= 3:
return True
if num % 2 == 0 or num % 3 == 0:
return False
i = 5
while i * i <= num:
if num % i == 0 or num % (i + 2) == 0:
return False
i += 6
return True
def sum_of_primes(N):
total_sum = 0
for num in range(2, N + 1):
if is_prime(num):
total_sum += num
return total_sum
N = 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 * f
i = i + 2
f = -f
print("pi=%.6f" % (pi * 4))
6. 给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
def get_one(arr):
n = len(arr)
for i in range(n):
min_index = i
for j in range(i + 1, n):
if arr[j] < arr[min_index]:
min_index = j
arr[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 = 0
temp_a = a # 保存初始输入的值
for i in range(6):
sum_result += temp_a
temp_a = temp_a * 10 + 2
return sum_result
sum_result = get_aa(a)
print("sum=", sum_result)
8. 合并两个有序数组,合并后还是有序列表
def get_two(arr1, arr2):
merged_array = []
i = j = 0
while i < len(arr1) and j < len(arr2):
if arr1[i] < arr2[j]:
merged_array.append(arr1[i])
i += 1
else:
merged_array.append(arr2[j])
j += 1
while i < len(arr1):
merged_array.append(arr1[i])
i += 1
while j < len(arr2):
merged_array.append(arr2[j])
j += 1
return 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]
break
return ls
ls = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(f'原列表为:{ls}')
print(f'将偶数置于奇数前,列表变为:{before(ls)}')