零基础新手小白学编程必会的100个代码_初学编程100个代码(2)


### 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/0b2aa2db58d546229ae76f9439850581.png#pic_center)


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


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


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


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


需要的话可以点击这里**👉**[Python学习路线(2023修正版)附涉及资料](https://bbs.csdn.net/topics/618540462) (安全链接,放心点击)


### 文末有福利领取哦~


#### 一、Python所有方向的学习路线


Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。![在这里插入图片描述](https://img-blog.csdnimg.cn/8a20de9e31f144dfba0e4996caded17d.png)​​


#### 二、Python必备开发工具


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


#### 三、精品Python学习书籍




### 一、网安学习成长路线图


网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/aa7be04dc8684d7ea43acc0151aebbf1.png)


### 二、网安视频合集


观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f0aeee2eec7a48f4ad7d083932cb095d.png)


### 三、精品网安学习书籍


当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/078ea1d4cda342f496f9276a4cda5fcf.png)


### 四、网络安全源码合集+工具包


光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/e54c0bac8f3049928b488dc1e5080fc5.png)


### 五、网络安全面试题


最后就是大家最关心的网络安全面试题板块  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/15c1192cad414044b4dd41f3df44433d.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/b07abbfab1fd4edc800d7db3eabb956e.png)  



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

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**

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

  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值