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

c语言基础程序——100实例 /根据公示Π/4=1-1/3+1/5-1/7+1/9-1/11+......,计算Π的近似值,当最后一项的绝对值小于0.000001为止。int f=1;//变号用//i是分母,sum是Π/4的值while (fabs(1.0/i)>=1e-6)//当绝对值小于10的-5次方认为为0//累加每项的值f*=-1;//变号i+=2;//分母+2变化printf("Π的近似值为%.5lf",sum*4); 阅读详情

前言

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

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

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

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

带着新手的灵魂拷问,作为从业单片机编程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

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

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]%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零基础学习资料的伙伴,可以在公众号【码农资料库】中回复【py】自行领取 包括以下学习资料:

① Python所有方向的学习路线图,清楚各个方向要学什么东西

②Python课程视频,涵盖必备基础、爬虫和数据分析

③ Python实战案例,学习不再是只会理论

④ Python电子好书,从入门到高阶应有尽有

⑤ 华为出品独家Python漫画教程,手机也能学习 ⑥ 历年互联网企业Python面试真题,复习时非常方便

在这里插入图片描述

50道编程题(有精力的同学看看) 50道JAVA基础编程练习题 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class Prog1{        public static void main(S 阅读详情

相关推荐

必会的算法题

必会的算法题 1.关于数组和链表的几个必知必会的代码实现 数组 实现一个支持动态扩容的数组 实现一个大小固定的有序数组,支持动态增删改操作 实现两个有序数组合并为一个有序数组 链表 实现单链表、循环链表、双向链表,支持增删操作 实现单链表反转 – 实现两个有序的链表合并为一个有序链表 实现求链表的中间结点 2.关于栈、队列和递归的几个必知必会的代码实现 栈 用数组实现一个顺序栈 用链表实现一个链式栈 编程模拟实现一个浏览器的前进、后退功能 队列 用数组实现一个顺序队列 用链表实现一个链式队列

我思故我在 756

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

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

Java癫疯的博客 2496

MineMap开发教程: 北斗网格位置码实时调度技术详解

本文介绍了MineMap4.0引擎中北斗网格位置码的实时调度技术。北斗网格位置码是我国自主研发的空间位置编码标准,具有层次化结构、三维编码等特点。MineMap4.0通过BeiDouGrid类实现了高效的实时调度机制,重点展示了按预想高度进行网格调度的核心功能。关键技术包括视锥体裁剪、LOD控制、高度筛选算法和交互式查询等。该技术在智慧城市、环境监测等领域具有广泛应用前景,凭借高性能、高精度等优势,为三维地理信息可视化提供了有力支撑。

weixin_42568040的博客 1439

初学编程100个代码

初学编程都有哪100个代码呢?29.将一个列表中的元素按照长度从小到大排序:(需完善)

zy1992As的博客 5万+

深入理解HanLP1.x,填平可能遇到的坑

提取指定数量的摘要。自定义词典为什么要单独领出来讲呢?因为在我们的业务开发中,可能分词的效果并不理想,需要定制自己的词库,索引更加常用。例如:小米su7特斯拉modelY比亚042025款6575767670908我们需要分出小米su72025款等词。我们分别看看用字典和不用字典的效果。

static_coder的博客 977

深圳SILAS(智能融合低空系统)无人机调度系统介绍

一、系统定位与核心目标SILAS(Smart Integrated Lower Airspace System)是深圳市为低空经济打造的“数字大脑”,由粤港澳大湾区数字经济研究院自主研发,定位为城市级低空飞行智能调度与管理平台。核心目标是解决低空经济中“高密度、高复杂度、多主体”的飞行调度难题,实现空域资源的高效分配、飞行安全的智能监管及全场景服务的无缝协同,支撑深圳从“无人机之都”向“天空之城”升级。二、核心架构:低空基础设施“四张网”设施网。

主攻大数据 人工智能 物联网 安全 低空经济等方向。mtsc 、gtest特邀分享嘉宾 3743

新手学编程必会的100个代码(非常详细)从零基础到精通,收藏这篇就够了

我记得刚开始接触编程的时候,觉得太难了。也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧?他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。一个程序几千行,错一个标点符号都不行这也太难了吧?带着新手的灵魂拷问,作为从业后端10年的开发者,我来为大家拨开云雾。看完以后你就会明白,其实他们也没那么厉害!即便你是初中文凭,也照样能编程。新手学编程必会的100个代码对于python语言来说,要记得东西其实不多,基本就是几个常用语句加一些关键字而已。

Libra1313的博客 1万+

算法基础之数组双指针(Leetcode题型归纳)

数组双指针(Leetcode题型归纳)1.前言2.双指针基础3.相向双指针3.1定义3.2真题分析3.2.1两数之和(1)3.2.2两数之和-输入有序数组(167)3.2.3三数之和(15)3.2.4最接近的三数之和(16)3.2.5四数之和(18)3.2.6盛最多水的容器(11)3.2.7有效三角形的个数(611)4.同向双指针-快慢指针4.1定义4.2真题分析4.1.1删除排序数组中的重复项(26)4.1.2移除元素(27)4.1.3删除排序数组中的重复项(80)4.1.4移动零(283)4.1.5数组

Buluchacha的博客 1034

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

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

Java癫疯的博客 3994

CTF——流量分析题型整理总结

我见过的流量分析类型的题目总结: 一,ping 报文信息 (icmp协议) 二,上传/下载文件(蓝牙obex,http,难:文件的分段上传/下载) 三,sql注入攻击 四,访问特定的加密解密网站(md5,base64) 五,后台扫描+弱密码爆破+菜刀 六,usb流量分析 七,WiFi无线密码破解 八,根据一组流量包了解黑客的具体行为 例题: 一,ping 报文信息 (icm...

小锤队长的博客 5万+

偏最小二乘结构方程(PLS-SEM)_TomatoSCI分析日记

①模型整体拟合指标(Goodness-of-Fit, GOF),这个可以看做整体的R方了,上限是1;②指标载荷的具体值;然而,当数据中包含潜变量(即由多个观测指标组合而成的综合概念)时,贝叶斯结构方程不太适用。指标过少(1-2 个)会削弱潜变量的解释力,而指标过多可能增加噪声,影响模型稳定性。如果指标较多,可考虑进一步划分潜变量,但应确保每个指标有意义。掌握这两类方法后,在处理多变量、因果或路径分析研究时,可以根据数据特点与研究需求灵活选择。对于一般的多变量研究,这两类结构方程均为常用且有效的分析方案。

qq_44684643的博客 2009

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

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

2201_75571291的博客 599

从RTL到GDSII:DC综合里那些没人告诉你的时钟约束冷知识(附真实工程示例)

本文深入探讨数字IC设计中DC综合阶段的时钟约束冷知识,包括无毛刺时钟切换、寄存器分频时钟约束、虚拟时钟应用等关键技巧。通过真实工程示例,揭示常见约束误区及解决方案,帮助工程师提升时序收敛效率。特别针对input_delay和output_delay在多时钟域场景下的设置陷阱提供实用指南。

weixin_29306317的博客 429
上一篇: 兼职收入过w后,我决定把我所有的接单途径告诉你
下一篇: Jupyter 的安装及使用,超详细懂中文就会
黑客老许
博客等级 码龄8年 6149粉丝 1028原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值