Python编程实践指南:基础概念与实用示例
前言
编程初学者常常对代码感到畏惧,认为需要极高的英语水平和超强的记忆力。实际上,编程的核心在于理解基本语法和逻辑思维。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()