python容器篇

1.有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币

a=True
list1=[]
while a:
    for i in list1:
        if i=="*":
            a=False
    list1=[]
    b=eval(input("请输入硬币数字"))
    list1.append(b)
c=0
while e:
    list1.pop()
    list1.pop()
    c+=1
    if len(list1)==0:
        break
print("最少用了%d次将硬币取完"%(c))

2.如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数"

list1=[]
for i in range(2,101):
    for j in range(2,101):
        if((i==j)):
            continue
        else:
            if(((i%j)!=0)):
                if (j==100):
                    list1.append(i)
                else:
                    continue
            else:
                break
print(list1)
m=1
while m<=len(list1)-m:
    for n in list1:
        if((list1[len(list1)-m]-n)==2):
            print("这一组孪生数为",list1[len(list1)-m],n)
        else:
            continue
    m+=1   

3.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

array = list(map(int,input("输入用空格分隔的数字:").split())) 
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
bubbleSort(array)
print("最小的为%d最大的为%d"%(array[0],array[len(array)-1]))
for i in array:
    i+=i
print("列表的和为%d 列表的平均值为%d"%(i,i/len(array)-1))

4.将list中的重复数据去重,至少使用两种方案

a=True
list1=[]
while a:
    b=eval(input("请输入列表"))
    list1.append(b)
    if b==a:
        a=False
for i in list1:
    list1.remove(j)
    for j in list1:
        if i==j:
            print("重复的列表元素为",i)
            list1.remove(i)
        else:
            list1.insert(list1.index(i),j)

方法2直接将数据类型变为set,集合的本质为Hash表,会去掉重复数据

a=True
list1=[]
while a:
    b=eval(input("请输入列表"))
    list1.append(b)
    if b==a:
        a=False
list(set(list1))

5.两个列表进行合并操作

array1 = list(map(int,input("输入用空格分隔的数字:").split())) 
array2 = list(map(int,input("输入用空格分隔的数字:").split()))
for i in range(0,len(array2)-1):
    array1.append(i)

6.使用列表判断一个列表是否在另外一个列表中

list1 = [1,2,3,4,5]
list2 = [1,2]
print(set(list2).issubset(set(list1)))
print(set(list1).issuperset(set(list2)))

7.列表的反转  列表的排序

array = list(map(int,input("输入用空格分隔的数字:").split()))
a=((len(array)-1))
for i in range(0,(len(array)-1)/2):
    array[i] = array[a]
    a-=1
 冒泡排序
 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

8.如何将0-10随机存入列表中

import numpy as np



list1 = []
list1 = np.random.uniform(1,10,(1,1))

要装numpy的模块包

9.存在一个1~n的连续列表,在其中不小心重复了一个值,请找出这个重复值

方法1:暴力枚举
list1=["ab","bac","cbd","deca","ab"]
for num1 in list1:
    list1.remove(num1)
    for num2 in list1:
        if(num1==num2):
            print("相同字符串为%s"%(num1))
        else:
            continue
 
 
 方法2:先排序,再遍历
list2=["ab","bac","cbd","deca","ab"]
def quickSort(arr, left=None, right=None):
    left = 0 if not isinstance(left,(int, float)) else left
    right = len(arr)-1 if not isinstance(right,(int, float)) else right
    if left < right:
        partitionIndex = partition(arr, left, right)
        quickSort(arr, left, partitionIndex-1)
        quickSort(arr, partitionIndex+1, right)
    return arr

def partition(arr, left, right):
    pivot = left
    index = pivot+1
    i = index
    while  i <= right:
        if arr[i] < arr[pivot]:
            swap(arr, i, index)
            index+=1
        i+=1
    swap(arr,pivot,index-1)
    return index-1

def swap(arr, i, j):
    arr[i], arr[j] = arr[j], arr[i]
quickSort(list2)
for num1 in list2:
    list2.remove(num1)
    for num2 in list2:
        if(num1==num2):
            print("相同字符串为%s"%(num1))
        else:
            continue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python基础.doc》是一份讲解Python编程基础的文档。Python是一种简洁、易学、高效的编程语言,因此它成为了很多人入门编程的首选语言。 这份文档应该包含了Python的基本语法、变量、数据类型、运算符、流程控制、循环语句等内容。首先,它会详细介绍Python的注释规则,以及如何定义和使用变量。变量是存储数据的容器,它可以用于存储不同类型的数据,包括整数、浮点数、字符串等。接下来,文档应该解释各种常见的运算符,如算术运算符、比较运算符和逻辑运算符,以及它们的优先级和使用方法。 然后,文档应该涵盖Python中的条件语句和循环语句。条件语句如if语句和else语句,用于根据条件执行不同的代码块。循环语句如for循环和while循环,用于重复执行某些代码段。在解释这些语句时,应该给出一些实际的例子来帮助读者更好地理解。 此外,文档还应该介绍一些常用的内置函数和字符串操作方法。内置函数是Python提供的一些预先编写好的函数,可以直接使用,如print()和len()等。字符串操作方法主要是对字符串进行切片、连接、替换以及查找等操作。 最后,文档中还应该提供一些练习题或者编程示例,让读者能够通过实践来巩固所学的知识。 总之,《Python基础.doc》是一份详细讲解Python编程基础的文档,内容应该涵盖Python的基本语法、变量、数据类型、运算符、流程控制、循环语句等,并配有实例和练习题,以帮助读者更好地理解和掌握Python编程知识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值