1.给定一个正整数N,找出1到N(含)之间所有质数的总和
def ping(n):
# 判断是否是质数
for i in range(2, n // 2 + 1):
if n % i == 0:
return False
return True
n = int(input('正整数N:'))
num = 0
for i in range(2, n):
if ping(i):
num += i
print(f'质数的总和:{num}')
2.给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
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 = [23, 5, 12, 67, 64, 87, 3, 1, 2, 28]
print(f'原列表为:{ls}')
print(f'选择排序法排序后的列表为:{selection_sort(ls)}')
3.计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
def PI():
'''
计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-.......)
'''
n = 0
sum_PI = 0
for i in range(1, 10000, 2):
sum_PI += ((-1) ** n) * (1 / i)
n += 1
PI = 4 * sum_PI
return PI
print(f'PI = {PI()}')
4.求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定
def one_sum(a, n):
'''
求 a + aa + aaa +.......+ aaaaaaaaa = ? (其中a为1至9之中的一个数,项数可以指定)
'''
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)}')
5.合并两个有序数组,合并后还是有序列表
#合并两个有序数组,合并后还是有序列表
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)}')
6.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
#给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
def even_before_odd(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'将偶数置于奇数前,列表变为:{even_before_odd(ls)}')
7.将10进制数据转换为二进制,并且统计其中的0和1的数量
# 将10进制数据转换为二进制,并且统计其中的0和1的数量
def ten_to_two(num):
'''
将十进制数据转换为二进制,并且统计其中的0和1的数量
'''
binary_num = bin(num)
ls = list(str(binary_num))[2:]
count_0 = 0
count_1 = 0
for i in ls:
if int(i) == 0:
count_0 += 1
else:
count_1 += 1
return count_0, count_1
num = int(input('请输入一个整数:'))
print(f'将{num}转换为二进制为:{bin(num)[2:]}')
8.给定一个数组,已知数组中的元素都是成对出现,现在数组中只有一个元素没有成对,请找出这个元素。[1,3,1,2,2,8,8]
# 给定一个数组,已知数组中的元素都是成对出现,现在数组中只有一个元素没有成对,请找出这个元素。[1,3,1,2,2,8,8]
def notpair(ls):
'''
找出不成对的元素
'''
temp = 0
for i in ls:
temp ^= i
return temp
ls = [1, 3, 1, 2, 2, 8, 8]
print(f'{ls}中不成对的元素为:{notpair(ls)}')