python习题

1.不死兔子

def Undead_bunnies(num):
    if int(num)<=4:
        return 2
    else:
        return Undead_bunnies(num-1) + Undead_bunnies(num -4)

num = Undead_bunnies(int(input("请输入你想要知道的月份")))
print(f"(有{num}子兔子)")

2.回文字符串

def palindrome(num):
    array ,array1 = 0 , 0
    array = list (str(num))
    array1 = int(array.reverse)
    if int(array) == array1:
        print("这个数是回文数")
    else:
        print("这个数不是回文数")
        
palindrome(input(int(("请输入一个整数"))))

3.给定一个正整数N,找出1到N(含)之间所有质数的总和

def prime_number(num1):
    for i in range(2,(num1 + 1)):
        a = 1
        if((num1 % i)==0):
            print("NO")
            a = 0 
        if((i == num1 + 1) and a==1):
            print("Yes")
            
def prime_number_sum(num):
    array = []
    for i in range(2,num+1):
        if(prime_number(i)==True):
            array.append(i)
    return sum(array)
            
print("和为",prime_number_sum(eval(input("请输入你想要求和的范围"))))

4.求  a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。

def stack(num,num1):
    a = 0
    arrays = 0
    arrays = num
    while a<=num1:
        array = 0
        array = list(str(num))
        array = int(str(array.append(num))) 
        arrays += array
        a +=1
    return arrays
        
arrays = list(str(input("请输入堆叠数与堆叠次数").split))
num = stack(arrays[0],arrays[1])
print(f"(堆叠数为{arrays[0]},堆叠次数为{arrays[2]},堆叠数的和为{num})")

5.合并两个有序数组,合并后还是有序列表

def merge(array,arrays):
    num = []
    array = bubbleSort(array)
    arrays = bubbleSort(arrays)
    num = array + arrays
    return bubbleSort(num)
    
def bubbleSort(arr):
    for i in range(1, len(arr)):
        for j in range(0, len(arr)-i):
            if arr[j] > arr[j+1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    return arr

array = list(str(input("请输入列表1")))
arrays = list(str(input("请输入列表2")))
arrayss = merge(array,arrays)

6.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

def sort_ss(array):
    arrays = []
    arrays = array
    for i in array:
        if (i%2)==0:
            arrays.remove(i)
            arrays.insert(arrays,0)
    return arrays
    
array = list(str(input("请输入列表")))
arrays = sort_ss(array)

7.给定一个非负整数数组A,该数组的元素都是从1~N的元素组成,现在发现其中确实一个,请找出这个确实的元素

def Missing_numbers(array):
    for i in range(0,len(array)):
        if(array[i]-array[i-1]==2):
            return array[i]-1
        
array = list(str(input("请输入列表")))
arrays = Missing_numbers(array)
print("该列表缺失了%d"%(arrays))

8.小明有一堆苹果,他每天吃掉这堆的一半加一个,等第六天,小明剩余1个苹果,问,这堆苹果共多少个?

def Number_of_apples(n):
    array = 1
    for i in range(1,n):
        array += (array^2 + 1)

num = Number_of_apples(int(input("请输入第几天苹果剩一个")))
print(f"(一共有{num}个苹果)")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值