当前位置:首页 > 技术 > 正文内容

Python编程实践指南:基础概念与实用示例

访客 技术 2026年9月24日 12

前言

编程初学者常常对代码感到畏惧,认为需要极高的英语水平和超强的记忆力。实际上,编程的核心在于理解基本语法和逻辑思维。Python作为一门简洁的语言,其语法相对简单,主要由几种核心语句和关键字组成。那些看似复杂的大型程序,都是通过这些基础组件组合而成的。变量和函数名虽然看起来像专业术语,但本质上是程序员自定义的标识符,只要符合规范即可。

1、循环中的else子句

在for循环中使用else语句,当循环正常结束时执行else代码块。

data_collection = [4, 8, 12, 16, 3]

for item in data_collection:
    if item % 2 != 0:
        print(item)
        break
else:
    print("All items are even")

2、数值相加操作

# -*- coding: UTF-8 -*-
# 文件名: calculation.py
# 输入两个数值进行相加运算
first_num = input('请输入首项数值:')
second_num = input('请输入次项数值:')

# 计算总和
total = float(first_num) + float(second_num)
# 展示计算结果
print('数值 {0} 与 {1} 的和为:{2}'.format(first_num, second_num, total))
执行结果:
请输入首项数值:2.3
请输入次项数值:3.7
数值 2.3 与 3.7 的和为:6.0

3、随机数值生成

# -*- coding: UTF-8 -*-
# 文件名: random_gen.py
# 生成指定范围内的随机整数
# 引入随机模块
import random
print(random.randint(1,10))
执行结果:
7

使用random模块的randint()函数生成随机数,每次运行返回不同数值(1到10之间)。

4、列表元素展开传递

使用*操作符展开列表元素作为函数参数:

sample_list = [5, 10, 15, 20]

print(sample_list)  # [5, 10, 15, 20]
print(*sample_list)  # 5 10 15 20

5、提取列表中间元素

_, middle_elements, _ = [2, 4, 6, 8, 10, 12, 14, 16]
print(middle_elements)  # [4, 6, 8, 10, 12, 14]

6、批量变量赋值

alpha, beta, gamma, delta = 10, 20, 30, 40

7、列表清空操作

DATA_SET = [9, 3, 7, 2]
print('原始数据:', DATA_SET)
DATA_SET.clear()
print('清空结果:', DATA_SET)
输出结果:
原始数据: [9, 3, 7, 2]
清空结果: []

8、枚举类型定义

枚举用于定义一组相关的常量值:

from enum import Enum

class ProcessStatus(Enum):
    PENDING = 0
    RUNNING = 1
    FINISHED = 2
    ERROR = -1

print(ProcessStatus.RUNNING.name)  # RUNNING
print(ProcessStatus.ERROR.value)   # -1

9、字符串重复

fruit_name = "Apple"
print(fruit_name * 3)  # AppleAppleApple

10、月份天数查询

#!/usr/bin/python3
import calendar
days_info = calendar.monthrange(2023,12)
print(days_info)
输出结果:
(4, 31)

返回元组:第一个值表示月初星期几(0-6),第二个值表示当月天数。

11、质数筛选程序

# 查找指定区间内的质数
start_range = int(input("输入起始值: "))
end_range = int(input("输入终止值: "))
for candidate in range(start_range, end_range + 1):
    if candidate > 1:
        is_prime = True
        for divisor in range(2, int(candidate ** 0.5) + 1):
            if candidate % divisor == 0:
                is_prime = False
                break
        if is_prime:
            print(candidate)

12、数值差值计算

基础减法函数:

def calculate_difference(x, y):
    return x - y

print(calculate_difference(5, 8))  # -3
print(calculate_difference(8, 5))  # 3

使用关键字参数避免顺序错误:

def calculate_difference(x, y):
    return x - y

print(calculate_difference(x=5, y=8))  # -3
print(calculate_difference(y=8, x=5))  # -3

13、奇偶数重排

将数组中奇数置于偶数之前,使用双指针算法:

def rearrange_odd_even(arr):
    left = 0
    right = len(arr) - 1
    
    while left < right:
        # 从左侧找到偶数
        while arr[left] % 2 == 1 and left < right:
            left += 1
        # 从右侧找到奇数
        while arr[right] % 2 == 0 and left < right:
            right -= 1
        
        if left < right:
            arr[left], arr[right] = arr[right], arr[left]
    
    return arr

14、数组反转

原地反转数组元素:

def reverse_array(arr):
    length = len(arr)
    for i in range(length // 2):
        arr[i], arr[length - 1 - i] = arr[length - 1 - i], arr[i]
    return arr

15、移除最小元素

删除数组中最小值元素并用末尾元素填补:

def remove_minimum(arr):
    if not arr:
        return None, False
    
    min_value = arr[0]
    min_index = 0
    
    for i in range(1, len(arr)):
        if arr[i] < min_value:
            min_value = arr[i]
            min_index = i
    
    # 用最后一个元素替换最小元素
    arr[min_index] = arr[-1]
    arr.pop()  # 移除最后一个元素
    
    return min_value, True

16、删除范围元素

移除数组中指定范围内的所有元素:

def filter_range_elements(arr, low, high):
    result = []
    for element in arr:
        if not (low <= element <= high):
            result.append(element)
    return result

# 或者原地修改版本
def filter_inplace(arr, low, high):
    write_pos = 0
    for read_pos in range(len(arr)):
        if not (low <= arr[read_pos] <= high):
            arr[write_pos] = arr[read_pos]
            write_pos += 1
    del arr[write_pos:]
    return arr

17、九九乘法表打印

生成传统的九九乘法表:

for row in range(1, 10):
    for col in range(1, row + 1):
        product = row * col
        print(f'{col}×{row}={product}', end='\t')
    print()
标签: Python

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。