新手学编程必会的100个代码

2023-11-04

前言

我记得刚开始接触编程的时候,觉得太难了。

也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧?

他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。

一个程序几千行,错一个标点符号都不行这也太难了吧?

带着新手的灵魂拷问,作为从业单片机编程10年的开发者,我来为大家拨开云雾。

看完以后你就会明白,其实他们也没那么厉害!即便你是初中文凭,也照样能编程。

对于python语言来说,要记得东西其实不多,基本就是几个常用语句加一些关键字而已。

你所看到的那些几千甚至上万行的代码,都是用这些语句和关键词来重复编写的。

只是他们逻辑功能不一样,另外的那些英文,都是程序员自己起的,比如说一些变量的名字,函数的名字。

如果你喜欢你定义成abc都可以,只不过为了程序大了以后为了方便阅读和维护,我们一般起跟要实现的功能相同的英文缩写代替。

比如说我要存储一个电压值,那你可以定义一个变量,名字叫VoltageValue,或者这两个词的缩写VoltVal。

所以,大家不要把这个想得这么神秘和高大上。

1、for循环中的else条件

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

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

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

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

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

2、数字求和

# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 用户输入数字
num1 = input('输入第一个数字:')
num2 = input('输入第二个数字:')

# 求和
sum = float(num1) + float(num2)
# 显示计算结果
print('数字 {0} 和 {1} 相加结果为:{2}'.format(num1, num2, sum))

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

输入第一个数字:1.5
输入第二个数字:2.5
数字 1.5 和 2.5 相加结果为:4.0

3、随机数生成

# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.runoob.com
# 生成 0 ~ 9 之间的随机数
# 导入 random(随机数) 模块
import random
print(random.randint(0,9))
执行以上代码输出结果为:
4
以上实例我们使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字(0 到 9),该函数的语法为:
random.randint(a,b)

4、将列表中的所有元素作为参数传递给函数

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

my_list = [1, 2, 3, 4]

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

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

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、使用一行代码赋值多个变量

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]%2==1)
          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()

在这里插入图片描述

18、更多资源文末获取

  关于Python技术储备

点击链接直达获取资料(安全链接,大家可放心点击)

Python学习路线(2023修正版)附涉全套免费资料https://mp.weixin.qq.com/s/UVxw0daFCgAMFhz9cfrjAQ

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

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

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费

2023最新Python全套免费资料点击获取https://mp.weixin.qq.com/s/UVxw0daFCgAMFhz9cfrjAQ

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

新手学编程必会的100个代码 的相关文章

随机推荐

  • JSON parse error: Cannot deserialize instance of `java.util.ArrayList

    前言 今天测试接口 JSON里面有个集合 一直报错如下所示 name 到底怎么回事呢 status 0 tenantId 123 createId 123 modifyId 123 labelItemRelations itemId 111
  • 为什么Vue中data一定要是一个函数?

    1 什么是函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块 js函数语法 函数就是包裹在花括号中的代码块 前面使用了关键词 function 当调用该函数时 会执行函数内的代码 可以在某事件发生时直接调用函数 比如当用户点击
  • Android--- Layout

    Android Layout Linear Layout Relative Layout Table Layout Grid Layout Frame Layout Constraint Layout Linear Layout
  • 【Java实践】java实现注册表单处理

    import java io IOException import javax servlet ServletException import javax servlet http HttpServlet import javax serv
  • android 仿钉钉日历,仿钉钉左右滑动日历

    先上我的效果图 再说思路 我这里不贴代码 思路 懂了 不管用前端还是移动端 都可以做出来的 做这个左后滑动的日历之前 首先无从下手的 有两个地方 第一 该怎么实现 左右滑动效果 第二 展示的日期是怎么计算的 因为我们是用ionic2 写的项
  • 【Docker+Mysql】docker搭建的mysql8.0中文乱码问题

    环境 CentOS 7 mysql docker 问题描述 查询数据库时 发现服务器端数据出现中文乱码问题 所有中文显示成问号 导致我的接口访问使用从数据库中读取出来的数据无法处理 解决过程 使用Docker搭建mysql容器 和不使用Do
  • 【python爬虫】1.爬虫基础知识

    文章目录 前言 初识爬虫 什么是爬虫 为什么需要爬虫 明晰路径 浏览器的工作原理 爬虫的工作原理 体验爬虫 requests get Response对象的常用属性 爬虫伦理 总结 前言 很高兴能在这里遇见你 我将会带你学习网络爬虫 我们可
  • MySql范围查找时,索引不生效问题原因

    1 问题描述 本文对建立好的复合索引进行排序 并取记录中非索引字段 发现索引不生效 例如 有如下表 DDL语句为 CREATE TABLE employees emp no int 11 NOT NULL birth date date N
  • pandas 常见绘图总结

    pandas 常见绘图总结 文章目录 pandas 常见绘图总结 前言 一 设置字体和显示中文 二 pandas 可视化 0 25 3版本 1 线形图 2 条形图 2 1 垂直条形图 2 2 水平条形图 3 饼图 4 散点图 4 1 普通散
  • TensorFlow实现梯度下降法求解一元和多元线性回归问题

    使用TensorFlow求解一元线性回归问题 import tensorflow as tf import numpy as np import matplotlib pyplot as plt 设置字体 plt rcParams font
  • Vue触发兄弟级组件中的某个方法

    要求 页面上有两个兄弟级组件 假如我点击组件 1 中的按钮 需要触发组件 2 中的某个方法 在这里 以购物车页面为例 我选择商品列表中的某个商品选中状态 在结算组件中根据列表中是否有未选中状态判断全选状态 效果 第一步 在父级页面引入两个兄
  • infura上部署以太坊智能合约

    Infura是一个托管的以太坊节点集群 可以将你开发的以太坊智能合约发布到infura提供的节点上 而无需搭建自己的以太坊节点 可能你还不了解Infura 但如果你使用过MetaMask 那么就已经接触过Infura了 因为它是MetaMa
  • 除了负载均衡,Nginx 能做的真是太强大了!

    Nginx应该是现在最火的web和反向代理服务器 没有之一 她是一款诞生于俄罗斯的高性能web服务器 尤其在高并发情况下 相较Apache 有优异的表现 那除了负载均衡 她还有什么其他的用途呢 下面我们来看下 一 静态代理 Nginx擅长处
  • 赛普拉斯 12864_如何使用赛普拉斯自动化辅助功能测试

    赛普拉斯 12864 In my previous post I covered how to add screenshot testing in Cypress to ensure components don t unintention
  • 免疫受体 AIRR 分析平台 immuneML 简介

    前言 免疫系统在肿瘤分型和治疗中发挥着重要的作用 TCR 和 BCR 都属于适应性免疫受体 Adaptive immune receptor repertoires AIRR AIRR 组成信息结合 MHC 年龄 性别等 在基于受体库的预测
  • USB设备的Vendor ID和Product ID是什么?有什么样?接到不同的pc他们的ID还是一样的吗?

    USB设备的Vendor ID 厂商识别码 和Product ID 产品识别码 是用来标识USB设备的两个数字代码 Vendor ID是由USB Implementers Forum颁发给厂商的唯一标识码 而Product ID则是由厂商自
  • ITM机制-不用串口也能printf

    在PC上编写过C语言的人都知道 printf可以向控制台输出 scanf可以从控制台获取输入 这里的printf scanf都是标准库函数 利用这些函数 我们可以很方便的调试程序 printf的方式有很多种 一般情况下 我们可以使用串口或其
  • 像素鸟html代码,flappy-bird方块版(用小方块替代像素鸟)

    实例简介 flappy bird方块版 实例截图 核心代码 Initialize Phaser and creates a 400x490px game var game new Phaser Game 400 490 Phaser AUT
  • IDEA找不到vue插件下载,使用外部安装vue.js插件的方法

    setting plugins中找不到Vue js插件 使用IDEA时打开Setting gt Plugins找不到vue js插件 看其他网友Marketplace和Installed找不到还会提示Browse repositories
  • 新手学编程必会的100个代码

    前言 我记得刚开始接触编程的时候 觉得太难了 也很好奇 写代码的那些人也太厉害了吧 全是英文的 他们的英文水平一定很好吧 他们是怎么记住这么多代码格式的 而且错了一个标点符号 整个程序都会有影响 一个程序几千行 错一个标点符号都不行这也太难