当前位置:   article > 正文

2023编程必会的100个代码大全,建议立刻收藏

代码大全

 前言

我记得刚开始接触编程的时候,觉得太难了。也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧?他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。一个程序几千行,错一个标点符号都不行这也太难了吧?带着新手的灵魂拷问,作为从业单片机编程10年的开发者,我来为大家拨开云雾。看完以后你就会明白,其实他们也没那么厉害!即便你是初中文凭,也照样能编程。对于python语言来说,要记得东西其实不多,基本就是几个常用语句加一些关键字而已。你所看到的那些几千甚至上万行的代码,都是用这些语句和关键词来重复编写的。只是他们逻辑功能不一样,另外的那些英文,都是程序员自己起的,比如说一些变量的名字,函数的名字。如果你喜欢你定义成abc都可以,只不过为了程序大了以后为了方便阅读和维护,我们一般起跟要实现的功能相同的英文缩写代替。比如说我要存储一个电压值,那你可以定义一个变量,名字叫VoltageValue,或者这两个词的缩写VoltVal。所以,大家不要把这个想得这么神秘和高大上。

1、for循环中的else条件

这是一个for-else方法,循环遍历列表时使用else语句。

下面举个例子,比如我们想检查一个列表中是否包含奇数。

那么可以通过for循环,遍历查找。

  1. numbers = [2, 4, 6, 8, 1]
  2. for number in numbers:
  3. if number % 2 == 1:
  4. print(number)
  5. break
  6. else:
  7. print("No odd numbers")

2、数字求和

  1. # -*- coding: UTF-8 -*-
  2. # Filename : test.py
  3. # author by : www.runoob.com
  4. # 用户输入数字
  5. num1 = input('输入第一个数字:')
  6. num2 = input('输入第二个数字:')
  7. # 求和
  8. sum = float(num1) + float(num2)
  9. # 显示计算结果
  10. print('数字 {0} 和 {1} 相加结果为:{2}'.format(num1, num2, sum))

执行以上代码输出结果为:

  1. 输入第一个数字:1.5
  2. 输入第二个数字:2.5
  3. 数字 1.52.5 相加结果为:4.0

3、随机数生成

  1. # -*- coding: UTF-8 -*-
  2. # Filename : test.py
  3. # author by : www.runoob.com
  4. # 生成 0 ~ 9 之间的随机数
  5. # 导入 random(随机数) 模块
  6. import random
  7. print(random.randint(0,9))
  8. 执行以上代码输出结果为:
  9. 4
  10. 以上实例我们使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字(09),该函数的语法为:
  11. random.randint(a,b)
  • 、将列表中的所有元素作为参数传递给函数

我们可以使用 * 号,提取列表中所有的元素

  1. my_list = [1, 2, 3, 4]
  2. print(my_list) # [1, 2, 3, 4]
  3. print(*my_list) # 1 2 3 4

如此便可以将列表中的所有元素,作为参数传递给函数

  1. numbers = [2, 4, 6, 8, 1]
  2. for number in numbers:
  3. if number % 2 == 1:
  4. print(number)
  5. break
  6. else:
  7. print("No odd numbers")

5、获取列表的所有中间元素

  1. _, *elements_in_the_middle, _ = [1, 2, 3, 4, 5, 6, 7, 8]
  2. print(elements_in_the_middle) # [2, 3, 4, 5, 6, 7]

6、使用一行代码赋值多个变量

one, two, three, four = 1, 2, 3, 4

7、Python清空列表

  1. RUNOOB = [6, 0, 4, 1]
  2. print('清空前:', RUNOOB)
  3. RUNOOB.clear()
  4. print('清空后:', RUNOOB)
  5. 以上实例输出结果为:
  6. 清空前: [6, 0, 4, 1]
  7. 清空后: []

8、通过Enum枚举同一标签或一系列常量的集合

枚举是绑定到唯一的常量值的一组符号名称(成员)。

在枚举中,成员可以通过身份进行比较,枚举本身可以迭代。

  1. from enum import Enum
  2. class Status(Enum):
  3. NO_STATUS = -1
  4. NOT_STARTED = 0
  5. IN_PROGRESS = 1
  6. COMPLETED = 2
  7. print(Status.IN_PROGRESS.name) # IN_PROGRESS
  8. print(Status.COMPLETED.value) # 2
  • 9、重复字符串
  1. name = "Banana"
  2. print(name * 4) # BananaBananaBananaBanana

10、计算每个月天数

  1. #!/usr/bin/python3
  2. # author by : www.runoob.com
  3. import calendar
  4. monthRange = calendar.monthrange(2016,9)
  5. print(monthRange)
  6. 执行以上代码输出结果为:
  7. (3, 30)
  8. 输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),
  9. 第二个元素是这个月的天数。以上实例输出的意思为 20169 月份的第一
  10. 天是星期四,该月总共有 30 天。

11、输出指定范围内的素数

  1. # 输出指定范围内的素数
  2. # take input from the user
  3. lower = int(input("输入区间最小值: "))
  4. upper = int(input("输入区间最大值: "))
  5. for num in range(lower,upper + 1):
  6. # 素数大于 1
  7. if num > 1:
  8. for i in range(2,num):
  9. if (num % i) == 0:
  10. break
  11. else:
  12. print(num)
  13. 执行以上程序,输出结果为:
  14. $ python3 test.py
  15. 输入区间最小值: 1
  16. 输入区间最大值: 100

12、计算两数差值

  1. def subtract(a, b):
  2. return a - b
  3. print((subtract(1, 3))) # -2
  4. print((subtract(3, 1))) # 2

上面的这个方法,需要考虑数值的先后顺序。

  1. def subtract(a, b):
  2. return a - b
  3. print((subtract(a=1, b=3))) # -2
  4. print((subtract(b=3, a=1))) # -2

使用命名参数,安排顺序,这样就不会出错了。

13、奇数移到偶数前

已知线性表(a1,a2,…,an)按顺序结构存储且每个元素为不相等的整数。设计把所有奇数移动到所有偶数前边的算法(要求时间最少,辅助空间最少)。
对于顺序表 L,从左向右找到偶数 L.data[i],从右向左找到奇数 L.data[j],将两者交换。
循环这个过程直到 i 大于 j 为止。对应的算法如下:
时间复杂度O(n),空间复杂度O(1)

  1. void move(SqList &L)
  2. {
  3. int i=0,j=L.length-1,k;
  4. ElemType temp;
  5. while(i<j)
  6. {
  7. //奇数从前向后找
  8. while(L.data[i]%2==1)
  9. i++;//指向奇数
  10. //偶数从后往前找
  11. while(L.data[j]%2==0)
  12. j--;//指向偶数
  13. if(i<j)//奇数在偶数前面
  14. {
  15. temp=L.data[i];
  16. L.data[i]=L.data[j];
  17. L.data[j]=temp;
  18. }
  19. }
  20. }

14、顺序表元素逆置

设计一个高效算法,将顺序表 L 中所有元素逆置,要求算法的空间复杂度为 O(1)。
扫描顺序表 L 的前半部分元素,对于元素 L.data[i],将其与后半部分对应元素 L.data[L.length-i-1]进行交换。对应的算法如下:

  1. void reverse(SqList &L)
  2. {
  3. int i;
  4. ElemType x;
  5. //只扫描前半部分
  6. for(i=0;i=L.length/2;i++)
  7. {
  8. x=L.data[i];
  9. //L.data[i]后半部分对应元素为L.data[L.length-i-1]
  10. /*
  11. 角标 0 1 2 3 4 5 6
  12. 元素 a b c d e f g
  13. 长度 length=7
  14. L.data[0]=L.data[L.length-0-1]=L.data[7-1-0]=L.data[6]
  15. */
  16. L.data[i]=L.data[L.length-i-1];
  17. L.data[L.length-i-1]=x;
  18. }
  19. }

15、删除顺序表最小值元素

从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的 值。空出的位置由最后一个元素填补。
搜素整个顺序表,查找最小值元素并记在其位置,搜索结束后用最后一个元素填 补空出的原最小值元素的位置。

  1. bool Delete_Min(SqList &L,ElemType &value)
  2. {
  3. //表长为0不成立
  4. if(L.length==0)
  5. return false;
  6. //假设第一个元素为最小值
  7. value=L.data[0];
  8. //记录最小值元素下标
  9. int pos=0;
  10. int i;
  11. //从第二个元素开始比较
  12. for(i=1;i<L.length;i++)
  13. {
  14. if(L.data[i]<value)
  15. {
  16. value=L.data[i];
  17. pos=i;
  18. }
  19. }
  20. //删除位置的元素用最后一个元素取代
  21. L.data[pos]=L.data[length-1];
  22. //表长减一
  23. L.length--;
  24. return true;
  25. }

16、删除值在x~y之间的所有数据

设计一个算法,从一给定的顺序表 L 中删除元素值在 x 到 y(x≤y)之间的所有元素, 要求以较高的效率来实现,空间复杂度为 O(1)。
本题是上述题目的变形。可以采用上述解法一的方法,只是将 L.data[i] == x 的条件改成 L.data[i] >= x && L.data[i] <= y。

  1. void del_xy(SqList &L, ElemType x, ElemType y)
  2. {
  3. int i;
  4. int k=0;
  5. for(i=0;i<L.length;i++)
  6. {
  7. if(L.data[i]>=x&&L.data[j]<=y)
  8. {
  9. L.data[k]=L.data[i];
  10. k++;
  11. }
  12. }
  13. L.length=k;
  14. }

方法二:

  1. void del_xy(SqList &L,ElemType x, ElemType y)
  2. {
  3. int i=0,k=0;
  4. while(i<L.length)
  5. {
  6. if(L.data[i]>=x&&L.data[i]<=y)
  7. k++;
  8. else
  9. L.data[i-k]=L.data[i];
  10. }
  11. L.length=L.length-k;
  12. }

17、打印九九乘法表

打印我们小时候背诵用的九九乘法表

  1. for i in range(1, 10):
  2. for j in range(1, i+1):
  3. print('{}x{}={}\t'.format(j, i, i*j), end='')
  4. print()

在这里插入图片描述

    知道你对python感兴趣,所以给你准备了下面的资料~

 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以点击链接免费领取或者滑到最后扫描二v码保证100%免费

python学习资源免费分享,保证100%免费!!!

需要的话可以点击这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/625362
推荐阅读
相关标签