1.字符串回文
#字符串回文
str = input("输入一个字符串:")
def huiwen(ste):
hui = True
wen = str[::-1]
for i in range(len(wen)):
if wen[i] != str[i]:
print("不是回文数!")
hui = False
break
if hui is True:
print("是回文数!")
huiwen(str)
回文:输入一组字符串,从左往右数或是从右往左数都是一样的
2.给定一个正整数N,找出1到N(含)之间所有质数的总和
#给定一个正整数N,找出1到N(含)之间所有质数的总和
def prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0 :
return False
return True
def sum(n):
prime_sum = 0
for num in range(2, n + 1):
if prime(num):
prime_sum += num
return prime_sum
N = int(input("请输入一个正整数N:"))
total_sum = sum(N)
print(f"1到{N}之间所有质数的总和为:{total_sum}")
3.不死兔子
有一只兔子,四个月成熟后,每个月生一只小兔子,小兔子也是过四个月成熟,每个月生一只小兔子,问几个月后,会拥有多少个小兔子
#不死兔子
month = int(input("请输入月份:"))
def rubbit(month):
if month <= 4:
return 1
else:
return rubbit(month - 4) + rubbit(month - 1)
print(rubbit(month))
4.求a相关之和
求 a+aa+aaa+.......+aaaaaaaaa的和,其中a为1至9之中的一个数,项数也要可以指定
def num(a, n):
term = str(a)
total = a
for i in range(2, n + 1):
term += str(a)
total += int(term)
return total
a = int(input("输入数值:"))
n = int(input("输入项数"))
result = num(a, n)
print(f"{a}+{a}{a}+{a}{a}{a}的和为:{result}")
5.合并两个有序数组,并且合并后的数组仍为有序数组
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
def merge(arr1, arr2):
merged = arr1 + arr2
bubble_sort(merged)
return merged
array1 = [1, 3, 5, 7, 9]
array2 = [2, 4, 6, 8, 10]
print("合并的数组是",array1,array2)
mergedarray = merge(array1, array2)
print("合并并排序后的数组:", mergedarray)
6.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
#给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
def sort(arr):
left = 0
right = len(arr) - 1
while left < right:
#找到第一个奇数元素
while arr[left] % 2 == 0 and left < right:
left += 1
#找到第一个偶数元素
while arr[right] % 2 != 0 and left < right:
right -=1
#交换奇数元素和偶数元素的位置
if left < right:
arr[left] ,arr[right] = arr[right], arr[left]
left += 1
right -= 1
return arr
arr_num = [3, 6, 2, 7 ,8, 9, 34 ,54, 32]
print("没有排列之前的数组:",arr_num)
after_arr = sort(arr_num)
print("将偶数放在奇数元素之前的数组:", after_arr)
7.寻找缺失元素
给定一个非负整数数组A,该数组的元素都是从1~N的元素组成, 现在发现其中缺失一个,请找出这个缺失的元素
#给定一个非负整数数组A,该数组的元素都是从1~N的元素组成, 现在发现其中缺失一个,请找出这个缺失的元素
list = [1, 3, 4, 5, 6, 7, 8, 9, 10, 11]
def get_losenum(list):
for i in range(0, len(list) - 1):
if list[i] + 1 != list[i + 1]:
return list[i] + 1
print("缺失元素为:",get_losenum(list))