初学者必会的100个Python编程代码,入门全套资料都给朋友们整理好了,文末免费领!_python必背入门代码


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



numbers = [2, 4, 6, 8, 1]

for number in numbers:
if number % 2 == 1:
print(number)
break
else:
print(“No odd numbers”)


  

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



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


  

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



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


  

### 7、Python清空列表



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


  

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


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


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



from enum import Enum

class Status(Enum):
NO_STATUS = -1
NOT_STARTED = 0
IN_PROGRESS = 1
COMPLETED = 2

print(Status.IN_PROGRESS.name) # IN_PROGRESS
print(Status.COMPLETED.value) # 2


  

### 9、重复字符串



name = “Banana”
print(name * 4) # BananaBananaBananaBanana


  

### 10、计算每个月天数



#!/usr/bin/python3

author by : www.runoob.com

import calendar
monthRange = calendar.monthrange(2016,9)
print(monthRange)
执行以上代码输出结果为:
(3, 30)
输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),
第二个元素是这个月的天数。以上实例输出的意思为 2016 年 9 月份的第一
天是星期四,该月总共有 30 天。


  

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



输出指定范围内的素数

take input from the user

lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))
for num in range(lower,upper + 1):

素数大于 1

if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num)
执行以上程序,输出结果为:
$ python3 test.py
输入区间最小值: 1
输入区间最大值: 100


  

### 12、计算两数差值



def subtract(a, b):
return a - b

print((subtract(1, 3))) # -2
print((subtract(3, 1))) # 2


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



def subtract(a, b):
return a - b

print((subtract(a=1, b=3))) # -2
print((subtract(b=3, a=1))) # -2


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



### 13、奇数移到偶数前


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



void move(SqList &L)
{
int i=0,j=L.length-1,k;
ElemType temp;
while(i<j)
{
//奇数从前向后找
while(L.data[i]%21)
i++;//指向奇数
//偶数从后往前找
while(L.data[j]%2
0)
j–;//指向偶数
if(i<j)//奇数在偶数前面
{
temp=L.data[i];
L.data[i]=L.data[j];
L.data[j]=temp;
}
}
}


  

### 14、顺序表元素逆置


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



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


  

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


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



bool Delete_Min(SqList &L,ElemType &value)
{
//表长为0不成立
if(L.length==0)
return false;
//假设第一个元素为最小值
value=L.data[0];
//记录最小值元素下标
int pos=0;
int i;
//从第二个元素开始比较
for(i=1;i<L.length;i++)
{
if(L.data[i]<value)
{
value=L.data[i];
pos=i;
}
}
//删除位置的元素用最后一个元素取代
L.data[pos]=L.data[length-1];
//表长减一
L.length–;
return true;
}


  

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


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



void del_xy(SqList &L, ElemType x, ElemType y)
{
int i;
int k=0;
for(i=0;i<L.length;i++)
{
if(L.data[i]>=x&&L.data[j]<=y)
{
L.data[k]=L.data[i];
k++;
}
}
L.length=k;
}


**方法二:**



void del_xy(SqList &L,ElemType x, ElemType y)
{
int i=0,k=0;
while(i<L.length)
{
if(L.data[i]>=x&&L.data[i]<=y)
k++;
else
L.data[i-k]=L.data[i];
}
L.length=L.length-k;
}


  

### 17、打印九九乘法表


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



for i in range(1, 10):
for j in range(1, i+1):
print(‘{}x{}={}\t’.format(j, i, i*j), end=‘’)
print()


![在这里插入图片描述](https://img-blog.csdnimg.cn/69d87dfcb4c84686866e6c13f0af0d53.png)  
   



### 18、更多资源文末获取


*如果你对Python感兴趣,学好 Python 不论是**就业、副业赚钱、还是提升学习、工作效率**,都是非常不错的选择,但要有一个系统的学习规划。*


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值