python表达是 if-else,for,while loop,三元运算
表达式if ... else
登录场景:

# 提示输入用户名和密码 # 验证用户名和密码 # 如果错误,则输出用户名或密码错误 # 如果成功,则输出 欢迎,XXX! userName=input("请输入用户名:") userPwd=input("请输入密码:") if userName=='tom' and userPwd=='123456': print("欢迎!") else: print("用户名,密码错误")
#在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了

myAge=22 userInput=int(input("please input age:")) if userInput==myAge: print("Congratulations, you got it !") elif userInput > myAge: print("bigger!") else: print("small!")
外层变量,可以被内层代码使用
内层变量,不应被外层代码使用
表达式for loop

#pass 通过 for i in range(10): if i == 5: pass else: print('loop', i) #break 跳出当前层的循环 for i in range(10): if i == 5: braek else: print('loop', i) #continue 跳出本次循环,进入下一次循环 for i in range(10): if i == 5: continue else: print('loop', i)
表达式while loop

import time # count=0 # while True: # print("这是一个死循环",count) # count +=1 to_start=time.time() count0=0 while True: if count0==10000: break count0+=1 print("cost0:",time.time() - to_start,count0)
三元运算
result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
程序:购物车程序
需求:
- 启动程序后,让用户输入工资,然后打印商品列表
- 允许用户根据商品编号购买商品
- 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
- 可随时退出,退出时,打印已购买商品和余额

carList=[] #购物车列表 goodsList=[["iphone7",6500],["macbook",12000],["pythonbook",66],["bike",999],["coffee",31],] salary = int(input("请输如你的工资:")) while True: for index,i in enumerate(goodsList): print("%s:\t%s\t%s" %(index,i[0],i[1])) choice=input("请输入商品编号>>:") if choice.isdigit(): choice=int(choice) if choice < len(goodsList) and choice >=0: print("你目前有多少钱:",salary) product_item=goodsList[choice] if salary > product_item[1]: salary -= product_item[1] carList.append(product_item) print(carList) else: print("\033[31;1m你的钱不够了\033[0m") else: print("商品不存在") elif choice=='exit': print("你本次购物为:",carList) print("你剩余钱:", salary) break
作业一:博客
作业二:编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
作业三:多级菜单
- 三级菜单
- 可依次选择进入各子菜单
- 所需新知识点:列表、字典
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)