哈喽大家好,又见面啦!😊很多友友们学 Python 总卡在 “看会了、写不出”,与其死记语法,不如用实战案例真正吃透基础。本篇整理24 个 Python 入门经典案例,从变量、循环、函数到列表、字典、字符串操作,全覆盖 Python 核心基础。不空谈理论,只靠案例上手,跟着练完,就能稳稳打下 Python 编程地基。


#python循环结构学习练习
 =========================================================================
#第一部分:for循环基础
 =========================================================================

# 案例1:遍历列表

print("\n【案例1】遍历列表")
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# 案例2:使用 range() 函数

print("range(0, 10, 2) 生成 0-9 的偶数:")
for i in range(0, 10, 2):
    print(i, end=" ")
print()#相当于print(end=“\n”)

# 案例3:遍历字符串

print("\n【案例3】遍历字符串")
text = "Python"
for char in text:
    print(f"字符: {char}")

# 案例4:遍历字典

print("\n【案例4】遍历字典")
scores = {"张三": 85, "李四": 92, "王五": 78}
print("遍历键:")
for name in scores:
    print(name, end=" ")
print()
print("遍历值:")
for score in scores.values():
    print(score, end=" ")
print()
print("遍历键值对:")
for name, score in scores.items():
    print(f"{name}: {score}分")

        #4.1新增键值对

print("\n简单方法新增键值对:")
scores["麻子"]=100
print(scores)
print("\nupdate()方法新增多个键值对:")
scores.update({"哈哈": 5, "呵呵": 5})
print("批量添加后:", scores)

# 案例5:enumerate() 同时获取索引和元素

#enumerate(colors):这是核心。它是一个内置函数,作用是给 colors 列表里的每个元素“贴上标签”(索引),它返回一个枚举对象(Iterator),每次迭代产生一个 (索引,元素) 的元组(Tuple)。
# index, color:这是元组解包(Tuple Unpacking)。
# enumerate 产生 (0, "红色")。
# Python 自动把 0 赋值给变量 index,把 "红色" 赋值给变量 color。

print("\n【案例5】使用 enumerate()")
colors = ["红色", "绿色", "蓝色"]
for index,color in enumerate(colors):
    print(f"索引{index}:{color}")

#案例6:enumerate()自定义起始索引

print("\n【案例6】enumerate() 自定义起始索引")
for index,color in enumerate(colors,start=1):
    print(f"第{index}种颜色: {color}")

 =========================================================================
# 第二部分:while循环
 =========================================================================

# 案例7:基础 while 循环

print("\n【案例7】基础 while 循环 - 打印 1-5")
i=1
while i<=5:
    print(i,end=" ")
    i+=1

# 案例8:计算 1 到 100 的和

print("\n【案例8】计算 1 到 100 的和")
i=1
sum=0
while i<=100:
    sum+=i
    i+=1
print(f"结果为{sum}") 

#案例9,random()函数的运用

import random
print("\n随机输出一定范围的数字:") 
num=random.randint(1, 6)#可能取到6
print(f"随机数为{num}") 
print("\n输出一个四位数:")
code=" "
for i in range(4):
    code+=str(random.randint(0,9))
print(f"验证码为{code}")

        #随机从列表里面选取一个元素

import random
colors = ["红色", "绿色", "蓝色"]
random_index=random.randint(0,len(colors)-1)
print(colors[random_index])

# 案例10:猜数字游戏

import random
target = random.randint(1, 10)
guesses = [3, 7, 5]  # 模拟用户的猜测
guess_count = 0
print(f"目标数为{target}")
while guess_count<=len(guesses)-1:
    guess=guesses[guess_count]
    if guess==target:
        print("\n恭喜你猜对了!")
        break
    elif  guess<target:
        print("\n太小了")
    else:
        print("\n太大了!")
else:
    print(f"游戏结束!正确答案是{target}")  

 =========================================================================
# 第三部分:控制循环控制语句,break,continue,pass
 =========================================================================

# 案例11:break - 跳出整个循环

(方法一)

print("\n【案例11】break - 找到第一个能被7整除的数")
for i in range(1,50):
    if i%7==0:
        print(f"能被7整除的数字为:{i}")
        break
print("\n找到能被7整除的数")

(方法二)

for i in range(0,50,7):
    print(f"能被7整除的数为{i}")

(方法三)

for i in range(1,50):
    if i%7==0:
        print(f"结果为{i}") 

# 案例12:continue - 跳过本次迭代
(方法一)用range()函数

print("\n【案例12】continue - 只打印奇数")
for i in range(1,50,2):
    print(f"奇数为:{i}")

(方法二)用continu循环

for i in range(1,50):
    if(i%2==0):
        continue
    print(i,end=" ")
print()

# 案例13:pass - 占位符

print("\n【案例13】pass - 占位符")
for i in range(3):
    pass
print("循环完毕")

# 案例14:break vs continue 对比

print("\n【案例14】break vs continue 对比")
print("使用 break:")
for i in range(1, 6):
    if i == 3:
        break
    print(i, end=" ")
print()
#结果:1 2
print("使用 continue:")
for i in range(1, 6):
    if i == 3:
        continue
    print(i, end=" ")
print()
#结果1 2 4 5

 =========================================================================
#第四部分,嵌套循环
=========================================================================

 #案例15:循环高级技巧
        #将1-6之间的平方添加到列表中(传统方法)

print("\n【案例21】列表推导式")
result = []
for i in range(1,6):
    result.append(i**2)
print(f"结果为{result}")

        #列表推导式(列表推导式把「创建空列表 + 循环 + 追加元素」三步合并成了一步,代码更简洁)

result=[i**2 for i in range(1,6)]
print(f"列表推导式结果为{result}")

# 案例16:带条件的列表推导式
        # 只取偶数的平方

print("\n【案例22】带条件的列表推导式")
result=[i**2 for i in range(1,6) if i%2==0]
print(f"带条件的列表推导式结果为:{result}")

# 案例17:单词长度字典推导式
        #传统方法

words = ["apple", "banana", "cherry"]
word_lengths = {}  # 先创建空字典
for word in words:
    word_lengths[word] = len(word)  # 逐个添加键值对
print(f"传统方法单词长度字典: {word_lengths}")

        #利用推导式

words = ["apple", "banana", "cherry"]
word_lengths={word:len(word) for word in words}
print(f"利用推导式求单词长度字典: {word_lengths}")

# 案例18:zip() 函数实现列表并行遍历

print("\n【案例24】zip() 并行遍历多个列表")
names=["张三","李四","王二"]
ages=[20,21,22]
cities=["北京","上海","广州"]
for name,age,city in zip(names,ages,cities):
    print(f"{name},{age}岁,来自{city}")

#案例19:反向遍历reversed()
 

类型 示例 返回值类型
字符串 reversed("hello) 迭代器
列表 reversed([1,2,3]) 迭代器
元组 reversed((1,2,3)) 迭代器
range reversed(range(5)) 迭代器

以上reversed()返回的是迭代器对象,需要转换才能用

        #方式一:转成列表

s="hello"
print(list(reversed(s)))

        #方式二:转成字符串(用join))

print(''.join(reversed(s)))

        #方式三:用for循环

for char in reversed(s):
    print(char,end=' ')
print("\n【案例25】reversed() 反向遍历")
for i in reversed(range(1,6)):
    print(i,end=" ")
print()

        #反向输出字符串

str="hello ljj"
result=reversed(str)
print(''.join(result))
#或者
s=str[::-1]
print(s)

#案例20:sorted()的运用,升序和降序
                                 语法:sorted(可迭代对象, key=None, reverse=False)

print(sorted("hello"))
参数 说明
第一个参数 要排序的可迭代对象(列表、字符串、元组等)
key 排序规则函数,可选
reverse False 升序(默认),True 降序

#升序

        ①列表

nums=[1,2,3,4,5]
print(sorted(nums))

        ②字符串

print(sorted("hello"))

        ③元组

print(sorted((1,3,2,8,6)))

#降序,使用reverse=True

        ①数组

nums=[1,2,3,4,5]
print(sorted(nums,reverse=True))

        ②字符串

print(sorted("hello",reverse=True))

#按照字符串长度排序

words = ["apple", "kiwi", "banana", "pear", "watermelon"]
print(sorted(words,key=len))
print(sorted(words,key=len,reverse=True))

#按照绝对值排序

nums=[-1,-8,-2,-6,-7,0]
print(sorted(nums,key=abs))

 =========================================================================
#第五部分,小案例
=========================================================================

# 案例21:判断质数
        #基础版

print("\n【案例27】判断质数")
def is_prime(n):
    if n<0:
        return False
    for i in range(2,n):
        if n%i==0:
            return False
    return True
#测试
print(is_prime(3)) 
print(is_prime(8))

        #优化版

import math
def is_prime(n):
    if n<=1:
        return False
    if n==2:
        return False
    if n%2==0:
        return False
    for i in range(3,int(math.sqrt(n))+1,2):
        if n%i==0:
            return False
    return True
#用户判断输入
num=int(input("请输入一个正整数:"))
if is_prime(num):
    print(f"{num}是质数")
else:
    print(f"{num}不是质数")

        #进阶版:找出一定范围内的所有质数

import math
def if_prime(n):
    if n<=1:
        return False
    if n==2:
        return False
    if n%2==0:
        return False
    for i in range(3,int(math.sqrt(n))+1,2):
        if n%i==0:
            return False
    return True
def find_prime(start,final):
    for i in range(start,final):
        if if_prime(i):
            print(f"{i}是质数")
start=int(input("请输入开始数:"))
final=int(input("请输入结束数:"))
find_prime(start, final)

# 案例22:计算阶乘(阶乘是乘积)

        #方法一

def factorial(n):
    #边界值判断
    if n<0:
        print("负数没有阶乘")
    if n==0 or n==1:#数学上规定0的阶乘为1
        return 1
    result=1
    #循环判断
    for i in range(1,n+1):
        result*=i
    return result
num=int(input("请输入一个数字:"))
print(f"{num}的阶乘为{factorial(num)}")

        #方法二

def factorial(n):
    #边界值判断
    if n<0:
        print("负数没有阶乘")
    if n==0 or n==1:#数学上规定0的阶乘为1
        return 1
    return n*factorial(n-1)
# 调用示例
print(f"5的阶乘(递归):{factorial(5)}") 

# 案例23:斐波那契数列(从第 2 项开始,每一项都等于前两项之和)

print("\n【案例29】斐波那契数列前10项")
def summary(n):
    #边界值判断
    if n<=0:
        return[]
    if n==1:
        return[0] 
    if n==2:
        return[0,1]
    result=[0,1]
    #从第三项开始
    for i in range(2,n):
        next_num=result[i-1]+result[i-2]
        result.append(next_num)
    return result
num=int(input("请输入要求的项数:"))
re=summary(num)
print(f"前{num}项的结果为{re}")

# 案例24:找出列表中的最大值和最小值

print("\n【案例30】找出最大值和最小值(不使用内置函数)") 
def create_list(n):
    num_list=[]
    for i in range(n):
        num=int(input("输入列表元素:"))
        num_list.append(num)
    return num_list
n=int(input("请输入列表的长度:"))
num_list=create_list(n)
max_num=num_list[0]
min_num=num_list[0]
for i in num_list :
    if i>max_num:
        max_num=i
    if i<min_num:
        min_num=i
print(f"列表为{num_list}")
print(f"列表中的最大值为{max_num},最小值为{min_num}")

写到这里,30 个 Python 基础案例就全部结束了。如有问题欢迎大家一起在评论区交流哦😊

编程从来不是一蹴而就的事情,每一行代码、每一次报错、每一次修改,都是成长的痕迹。

不必焦虑进度,也不用害怕犯错,坚持动手、坚持思考,你会慢慢发现,曾经觉得难懂的逻辑,早已变成熟练的技能。

愿你在编程的路上,保持热爱,稳步前行。基础打牢,未来的路才会越走越宽。

加油~

 

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐