零基础新手小白学编程必会的100个代码

2023-11-20

 前言

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

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

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

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

带着新手的灵魂拷问,作为从业单片机编程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全套学习资料已经上传,朋友们如果需要可以点击链接免费领取或者滑到最后扫描二v码【保证100%免费

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

需要的话可以点击这里

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

零基础新手小白学编程必会的100个代码 的相关文章

  • 使用 Python 编辑 RTF 文件

    也许这是一个愚蠢的问题 但我不明白 所以道歉 我有一个 RTF 文档 我想更改它 例如 有一个表 我想复制一行并以面向对象的方式更改代码中第二行中的文本 我认为 pyparsing 应该是可行的方法 但我摆弄了几个小时但没有明白 我没有提供
  • 2d 图像点和 3d 网格之间的交点

    Given 网格 源相机 我有内在和外在参数 图像坐标 2d Output 3D 点 是从相机中心发出的光线穿过图像平面上的 2d 点与网格的交点 我试图找到网格上的 3d 点 This is the process From Multip
  • 如何删除 PyCharm 中的项目?

    如果我关闭一个项目 然后删除该项目文件夹 则在 PyCharm 重新启动后 会再次创建一个空的项目文件夹 只需按顺序执行以下步骤即可 他们假设您当前在 PyCharm 窗口中打开了该项目 单击 文件 gt 关闭项目 关闭项目 在 PyCha
  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • 如何在python中附加两个字节?

    说你有b x04 and b x00 你如何将它们组合起来b x0400 使用Python 3 gt gt gt a b x04 gt gt gt b b x00 gt gt gt a b b x04 x00
  • 将 C++ 指针作为参数传递给 Cython 函数

    cdef extern from Foo h cdef cppclass Bar pass cdef class PyClass cdef Bar bar def cinit self Bar b bar b 这总是会给我类似的东西 Can
  • 如何获取numpy.random.choice的索引? - Python

    是否可以修改 numpy random choice 函数以使其返回所选元素的索引 基本上 我想创建一个列表并随机选择元素而不进行替换 import numpy as np gt gt gt a 1 4 1 3 3 2 1 4 gt gt
  • 以类型化内存视图作为成员的结构定义

    目前我正在尝试让一个具有类型化内存视图的结构能够工作 例如 ctypedef struct node unsigned int inds 如果 inds 不是内存视图 据我所知 它可以完美地工作 然而 通过内存视图并使用类似的东西 def
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • Python MySQL 操作错误:1045,“用户 root@'localhost' 的访问被拒绝

    我试图通过以下方式从我的 python 程序访问数据库 db mysql connect host localhost user Max passwd maxkim db TESTDB cursor db cursor 但是 我在第一行代码
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 时间序列数据预处理 - numpy strides 技巧以节省内存

    我正在预处理一个时间序列数据集 将其形状从二维 数据点 特征 更改为三维 数据点 时间窗口 特征 在这样的视角中 时间窗口 有时也称为回顾 指示作为输入变量来预测下一个时间段的先前时间步长 数据点的数量 换句话说 时间窗口是机器学习算法在对
  • numpy:如何连接数组? (获得多个范围的并集)

    我使用Pythonnumpy 我有一个 numpy 索引数组a gt gt gt a array 5 7 12 18 20 29 gt gt gt type a
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 检索 geodjango 多边形对象的边界框

    如何在 geodjango 中获取 MultiPolygon 对象的边界框 在 API 中找不到任何内容http geodjango org docs geos html http geodjango org docs geos html
  • 确定分割形状几何体的“左”侧和“右”侧

    我的问题是 我怎样才能确定哪一个Aside and Bside的侧面已经分割的旋转矩形几何体 http nbviewer jupyter org urls dl dropbox com s ll3mchnx0jwzjnf determine
  • 在 numpy 中连接维度

    我有x 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 2 3 I want 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 6 也就是说 我想连接中间维度的所有项目 在这种特殊情况下我可以得到这
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • 如何在 scikit 中加载 CSV 数据并将其用于朴素贝叶斯分类

    尝试加载自定义数据以在 Scikit 中执行 NB 分类 需要帮助将示例数据加载到 Scikit 中 然后执行 NB 如何加载目标的分类值 使用相同的数据进行训练和测试 或使用完整的数据集进行测试 Sl No Member ID Membe
  • 使用 paramiko 运行 Sudo 命令

    我正在尝试执行sudo使用 python paramiko 在远程计算机上运行命令 我尝试了这段代码 import paramiko ssh paramiko SSHClient ssh set missing host key polic

随机推荐

  • 21,verilog之宏define介绍

    注 学习 交流就在博主的个人weixin公众号 FPGA动力联盟 留言或直接 博主weixin fpga start 私信 宏define提供用一个相对简单的文字来表示一大段真正有意义的文字作用 换句话说 就是综合软件见到定义的宏 就用这个
  • uni-app页面点击tab左右滑动(swiper)

    uni app基于
  • 自动化测试工具——selenium 用前须知

    OK 经过上的过程 我相信你一定做出的相应的选择 如果你选择的是selenium 工具 那么接着往下阅读 首选你在开始selenium之前 需要花一到两个月时间去学一门语言 这里是根据没有语言基础的同学而定的 我推荐ruby python
  • swing重定向输出到jtextArea

    import java awt Font import java io IOException import java io OutputStream import java io PrintStream import javax swin
  • Android Studio 中模拟器无法打开,提示Error launching emulator

    一 遇到的问题 运行模拟器时 提示 Error launching emulator 二 解决方法 打开SDK Manager 点击取消Android Emulator 然后重新运行 会提示下载一些文件 按着操作即可 如果没问题就不需要取消
  • 深入解析String intern()

    在 JAVA 语言中有8中基本类型和一种比较特殊的类型String 这些类型为了使他们在运行过程中速度更快 更节省内存 都提供了一种常量池的概念 常量池就类似一个JAVA系统级别提供的缓存 8种基本类型的常量池都是系统协调的 String类
  • Python3.8安装tensorflow

    我现在的版本是3 8 8 64 bit 编辑器是Visual Studio Code 之前试过好多次都失败了 都是因为Python的版本和tensorflow版本的各种问题 后来下过anaconda 用不习惯 还是回来捯饬Visual St
  • onenote导入html文件,office js - OneNote Add in: Getting HTML content - Stack Overflow

    In the example code is provided to get RichText It is able to get the plain text content of the page but I cannot seem t
  • css之id选择器和class类选择器

    一 css基础 css定义 可以设置网页中的样式 外观 美化 css中文名字 级联样式表 层叠样式表 样式表 二 css基础语法 1 style标签写在title标签后面 2 选择器 属性名1 属性值1 属性名2 属性值2 color 代表
  • leetcode第8场双周赛

    这次双周赛有意外 第二第三题按照提示返回int 会报错 要返回List 第一题 给你一个字符串 S 返回只含 单一字母 的子串个数 示例 1 输入 aaaba 输出 8 解释 只含单一字母的子串分别是 aaa aa a b aaa 出现 1
  • axios和Ajax

    Ajax 由客户端请求ajax引擎 再由ajax引擎请求服务器 服务器作出一系列响应之后返回给ajax引擎 由ajax引擎决定将这个结果写入到客户端的什么位置 实现页面无刷新更新数据 创建Ajax步骤 1 创建异步对象 2 设置回调函数 U
  • 在ubuntu18.04上搭建的海思Hi3516EV200的编译环境

    准备工作 下载交叉编译工具 百度网盘 https pan baidu com s 1AL3EztPUpWZOpxdbyEnI w 提取码 w2k7 ubuntu版本 uname v 55 18 04 1 Ubuntu SMP Mon Jun
  • matlab 计算点云中值

    目录 一 概述 1 算法概述 2 主要函数 二 代码示例 三 结果展示 四 参数解析 输入参数 输出参数 五 参考链接 本文由CSDN点云侠原创 原文链接 如果你不是在点云侠的博客中看到该文章 那么此处便是不要脸的爬虫 一 概述
  • Git的使用(gitbash命令创建版本库)

    1 git的安装 msysgit gitbash 2 创建repository 路径名不要含有中文 pwd 查看当前路径 cd mkdir gitLearn 创建目录 cd gitLearn 进入路径 git INIT 初始化 编程git可
  • 如何替换对象的key值

    发生的场景 现在用antd组件库 有些组件想渲染数据的话 我要根据他们官网给的字段名称对应起来才能渲染上去 这个是复选框选中 保存的时候 字段需要按照后台约定的传入code value 1 常规循环遍历 大招来了 哈哈哈 才疏学浅 我觉得是
  • Python学习----第十章--文件和异常及json

    1 读取文件 lstrip 删除左边空白符 rstrip 删除右边空白符 strip 删除两端空白符 window 读取文件可以用 但是在字符串中 是被当作转义字符来使用 经过转义之后可能就找不到路径的资源了 例如 t会转义为tab键 这里
  • Protobuf安装步骤

    今天看Brpc开源代码的时候 看到了里面提到了google开源的protobuf的数据序列化和反序列工具 所以特地下了源码 试着看下一个简单的使用过程 1 protobuf的介绍 google protobuf是一个灵活的 高效的用于序列化
  • 【python】调用Matplotlib库绘制扇形图(饼图)

    代码部分 扇形图 import matplotlib pyplot as plt import matplotlib as mpt mpt rcParams font family fangsong labels apple orange
  • GIT高级使用技巧

    GIT高级使用技巧 导出GIT日志到文件 按照 lt 哈希 gt lt 作者名 gt lt 作者邮箱地址 gt lt 作者日期 gt
  • 零基础新手小白学编程必会的100个代码

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