一.求一个十进制的数值的二进制的0、1的个数
代码:
def count_binary_zeros_ones(n):
binary_str = bin(n)
zeros = binary_str.count('0')
ones = binary_str.count('1')
return zeros, ones
n=int(input("请输入数字:"))
zeros, ones = count_binary_zeros_ones(n)
print(f"0的数量: {zeros}, 1的数量: {ones}")
二.实现一个用户管理系统(要求使用容器保存数据) [{name: xxx, pass: xxx, ……},{},{}]
代码:
class User:
def __init__(self, name, password):
self.name = name
self.password = password
def __str__(self):
return f"User(name={self.name!r}, pass={self.password!r})"
class UserManager:
def __init__(self):
self.users = []
def add_user(self, user):
self.users.append(user)
def find_user(self, name):
for user in self.users:
if user.name == name:
return user
return None
def list_users(self):
for user in self.users:
print(user)
# 示例使用
um = UserManager()
# 添加用户
um.add_user(User("Alice", "alice123"))
um.add_user(User("Bob", "bob456"))
# 列出所有用户
um.list_users()
# 查找特定用户
found_user = um.find_user("Alice")
if found_user:
print(f"Found user: {found_user}")
else:
print("User not found.")
三.求1~100之间不能被3整除的数之和
代码:
def sum_not_divisible_by_3(n=100):
return sum(i for i in range(1, n+1) if i % 3 != 0)
print(sum_not_divisible_by_3())
四.给定一个正整数N,找出1到N(含)之间所有质数的总和
代码:
def sum_primes(n):
def is_prime(num):
if num < 2: return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0: return False
return True
return sum(i for i in range(2, n+1) if is_prime(i))
N=int(input("请输入数字:"))
print(sum_primes(N))
五.计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
代码:
def compute_pi(precision=1000):
pi = 0.0
for i in range(precision):
if i % 2 == 0:
pi -= 1 / (2 * i + 1)
else:
pi += 1 / (2 * i + 1)
return 4 * pi
print(compute_pi())
六.给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
代码:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
lst = [64, 84, 48, 82, 92, 81, 32, 68, 97, 72]
sorted_lst = bubble_sort(lst)
print(sorted_lst)
七.求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
代码:
def sum_aaa(a, n):
result = 0
for i in range(n):
result = result * 10 + a
return result
a=int(input("请输入:"))
n=int(input("请输入:"))
print(sum_aaa(a, n))
八.合并两个有序数组,合并后还是有序列表
代码:
def merge_sorted_arrays(arr1, arr2):
merged = arr1 + arr2
merged.sort()
return merged
arr1 = [1, 3, 5, 7]
arr2 = [2, 4, 6, 8]
merged = merge_sorted_arrays(arr1, arr2)
print(merged)
九.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
代码:
def even_odd_sort(arr):
even = [x for x in arr if x % 2 == 0]
odd = [x for x in arr if x % 2 != 0]
return even + odd
A = [1,3,5,7,9,11,12,13,20]
sorted_A = even_odd_sort(A)
print(sorted_A)
十.给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n), 可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数
代码:
def find_duplicate(nums):
# 计算预期的和
expected_sum = (len(nums) * (len(nums) + 1)) // 2
# 计算实际的和
actual_sum = sum(nums)
# 找到重复的整数
duplicate = expected_sum - actual_sum
return duplicate
nums = [1, 2, 3, 3, 4, 5]
# 输出重复的整数
print(find_duplicate(nums))
十一.找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
代码:
def find_special_numbers(upper_limit):
special_numbers = []
for i in range(1, upper_limit):
if (i % 5 == 0 or i % 6 == 0) and not (i % 5 == 0 and i % 6 == 0):
special_numbers.append(i)
return special_numbers
# 示例
upper_limit =int(input("请输入数字:"))
print(find_special_numbers(upper_limit))
十二.写一个方法,计算列表所有偶数下标元素的和(注意返回值)
代码:
def sum_even_index_elements(lst):
total = 0
# 从下标0开始,步长为2
for i in range(0, len(lst), 2):
total += lst[i]
return total
# 示例
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 输出偶数下标元素的和
print(sum_even_index_elements(lst))