当前位置: 首页 > news >正文

Python入门 | 三个if语句程序作业和基础语法笔记

作业:

  1. 超市折扣计算程序

题目:编写程序,实现 “超市折扣计算” 功能:

 输入商品总价(total_price)和会员等级(vip_level,0 = 非会员,1 = 普通会员,2 = 高级会员)

 折扣规则:

 非会员(0):

 无基础折扣

 若总价≥500 元,额外 9.5 折

 普通会员(1):

 基础 9.5 折

 若总价≥1000 元,额外 9 折

 高级会员(2):

 基础 9 折

 若总价≥800 元,额外 8.5 折

 所有情况:总价 < 0 时提示 "输入错误,总价不能为负数"

 输出最终应付金额(保留 2 位小数)

这个程序根据商品总价和会员等级计算最终应付金额。

Python源代码

# 输入商品总价和会员等级

total_price = float(input("请输入商品总价:"))

vip_level = int(input("请输入会员等级(0=非会员,1=普通会员,2=高级会员):"))

# 检查总价是否为负数

if total_price < 0:

    print("输入错误,总价不能为负数")

else:

    # 计算折扣

    if vip_level == 0:  # 非会员

        if total_price >= 500:

            discount = 0.95

        else:

            discount = 1.0

    elif vip_level == 1:  # 普通会员

        if total_price >= 1000:

            discount = 0.95 * 0.9

        else:

            discount = 0.95

    elif vip_level == 2:  # 高级会员

        if total_price >= 800:

            discount = 0.9 * 0.85

        else:

            discount = 0.9

    else:

        print("会员等级输入错误")

        discount = 1.0

   

    # 计算最终价格

    final_price = total_price * discount

print("最终应付金额:%.2f元" % final_price)

说明:

  • 使用嵌套if语句处理不同会员等级和不同价格区间的折扣
  • 先检查输入的有效性(总价不能为负数)
  • 使用%.2f格式化输出保留两位小数

  1. ATM机模拟程序

题目:2、设计一个简单的 ATM 机模拟程序,实现以下功能:

 初始界面显示密码输入框(预设正确密码为 123456)

 密码输入错误 → 提示 “密码错误,退出程序”

 密码输入正确 → 进入主菜单

 主菜单提供 4 个选项: 1. 查询余额 2. 存款 3. 取款 4. 退出

 各功能规则:

 查询余额:显示当前余额(初始余额为 1000 元)

 存款:输入存款金额(必须为正数),若金额合法则更新余额并显示;否则提示“存款金额无效”

 取款:输入取款金额(必须为正数且不超过当前余额),若金额合法则更新余额并显示;否则提示 “取款金额无效” 或 “余额不足”

 退出:显示 “感谢使用,再见!” 并结束程序

这个程序模拟简单的ATM机功能,包括查询余额、存款和取款。

Python源代码

# 预设密码和初始余额

correct_password = "123456"

balance = 1000.0

# 输入密码

password = input("请输入密码:")

# 检查密码

if password != correct_password:

    print("密码错误,退出程序")

else:

    # 密码正确,显示菜单

    print("1. 查询余额")

    print("2. 存款")

    print("3. 取款")

    print("4. 退出")

   

    # 选择操作

    choice = input("请选择操作(1-4):")

   

    if choice == '1':

        print("当前余额:%.2f元" % balance)

    elif choice == '2':

        amount = float(input("请输入存款金额:"))

        if amount > 0:

            balance += amount

            print("存款成功!当前余额:%.2f元" % balance)

        else:

            print("存款金额无效")

    elif choice == '3':

        amount = float(input("请输入取款金额:"))

        if amount <= 0:

            print("取款金额无效")

        elif amount > balance:

            print("余额不足")

        else:

            balance -= amount

            print("取款成功!当前余额:%.2f元" % balance)

    elif choice == '4':

        print("感谢使用,再见!")

    else:

        print("输入无效")

程序说明:

  • 使用if-elif-else结构处理不同的用户选择
  • 对存款和取款操作进行输入验证
  • 演示了基本的账户余额管理逻辑

  1. 三角形判断程序

题目: 编写一个程序,输入三角形的三条边长,判断:

 

 1. 是否能构成三角形(任意两边之和大于第三边)

 2. 如果能构成三角形,进一步判断是等边、等腰还是一般三角形

这个程序根据三条边长判断是否能构成三角形,以及三角形的类型。

Python源代码

# 输入三条边长

a = float(input("请输入第一条边长:"))

b = float(input("请输入第二条边长:"))

c = float(input("请输入第三条边长:"))

# 检查是否能构成三角形

if a + b > c and a + c > b and b + c > a:

    # 能构成三角形

    if a == b and b == c:

        print("能构成等边三角形")

    elif a == b or a == c or b == c:

        print("能构成等腰三角形")

    else:

        print("能构成一般三角形")

else:

print("不能构成三角形")

程序说明:

  • 使用三角形的基本判定条件:任意两边之和大于第三边
  • 使用嵌套if语句进一步判断三角形类型
  • 演示了多个条件的组合判断

通过这些程序,可以学习到以下Python基础知识:

  1. 基本输入输出:使用input()获取用户输入,print()输出结果
  2. 条件判断:if、elif、else语句的使用
  3. 数据类型转换:float()和int()函数的使用
  4. 比较运算符:>、<、>=、<=、==、!=的使用
  5. 逻辑运算符:and、or的使用
  6. 格式化输出:使用%.2f控制小数位数

笔记:

1. Python简介

  • Python是一种高级、解释型编程语言,以简洁易读的语法著称。
  • 特点:跨平台、开源、支持面向对象编程。

2. 注释

  • 用于解释代码,不会被程序执行。
  • 单行注释:以 # 开头。
  • 多行注释:用三引号 '''注释内容''' 或 """注释内容"""。

python

# 这是单行注释

'''

这是

多行注释

'''


3. 变量

什么是变量?

  • 变量是存储数据的容器,可以通过变量名访问或修改数据。
  • 变量名不需要声明类型,直接赋值即可创建。

变量命名规则:

  1. 由字母、数字、下划线组成,不能以数字开头。
  2. 不能使用Python关键字(如 if, else, for 等)。
  3. 区分大小写(如 name 和 Name 是不同的变量)。

python

name = "Alice"   # 字符串变量

age = 20         # 整数变量

height = 1.65    # 浮点数变量


4. 数据类型

Python常见数据类型:

类型

示例

说明

整型(int)

10, -5

整数

浮点型(float)

3.14, -0.5

小数

字符串(str)

"hello"

文本,用单/双引号包裹

布尔型(bool)

True, False

逻辑值,只有两个值

列表(list)

[1, 2, 3]

有序、可修改的集合

元组(tuple)

(1, 2, 3)

有序、不可修改的集合

字典(dict)

{"name": "Alice"}

键值对集合


5. 运算符

(1) 算术运算符

运算符

描述

示例

+

3 + 2 → 5

-

5 - 1 → 4

*

2 * 3 → 6

/

10 / 2 → 5

%

取余

10 % 3 → 1

**

2 ** 3 → 8

//

整除

10 // 3 → 3

(2) 比较运算符

返回布尔值(True 或 False):

运算符

描述

示例

==

等于

3 == 3 → True

!=

不等于

3 != 2 → True

>

大于

5 > 3 → True

<

小于

2 < 1 → False

>=

大于等于

5 >= 5 → True

<=

小于等于

4 <= 3 → False

(3) 逻辑运算符

用于组合多个条件:

运算符

描述

示例

and

与(两个条件都为True才返回True)

True and False → False

or

或(至少一个为True就返回True)

True or False → True

not

非(取反)

not True → False

(4) 成员运算符

检查某个值是否在序列中:

运算符

描述

示例

in

如果在序列中返回True

"a" in ["a", "b"] → True

not in

如果不在序列中返回True

3 not in [1,2] → True

(5) 位运算符

二进制与十进制转换

  • 十进制转二进制:除2取余,倒序排列
    • 例如:5的二进制表示:101
  • 二进制转十进制:按权展开相加
    • 例如:101(二进制) = 1×2² + 0×2¹ + 1×2⁰ = 5(十进制)

原码、反码和补码

  1. 原码:最高位表示符号位(0正1负),其余位表示数值的绝对值
    • 例如:+5的原码是 00000101,-5的原码是 10000101
  2. 反码
    • 正数的反码与原码相同
    • 负数的反码是符号位不变,其余位取反
    • 例如:-5的反码是 11111010
  3. 补码
    • 正数的补码与原码相同
    • 负数的补码是其反码加1
    • 例如:-5的补码是 11111011

位运算符详细说明

运算符

描述

示例(5和3的二进制分别为101和011)

结果(二进制)

结果(十进制)

&

按位与:两位都为1时结果为1

5 & 3 (101 & 011)

001

1

|

按位或:两位有一位为1时结果为1

5 | 3 (101 | 011)

111

7

^

按位异或:两位不同时结果为1

5 ^ 3 (101 ^ 011)

110

6

~

按位取反:所有位取反

~5 (~00000101)

11111010

-6

<<

左移:所有位向左移动,右侧补0

5 << 1 (101左移1位)

1010

10

>>

右移:所有位向右移动,左侧补符号位

5 >> 1 (101右移1位)

010

2


6. 选择结构

(1) if 语句

python

if 条件:

    # 条件为True时执行的代码

(2) if-else 语句

python

if 条件:

    # 条件为True时执行

else:

    # 条件为False时执行

(3) if-elif-else 语句

python

if 条件1:

    # 条件1为True时执行

elif 条件2:

    # 条件2为True时执行

else:

    # 以上条件都不满足时执行

示例代码:

python

# 简单if语句

age = 18

if age >= 18:

    print("你已经成年了")

# if-else语句

if age >= 18:

    print("你已经成年了")

else:

    print("你还未成年")

# 多条件判断

score = 85

if score >= 90:

    print("优秀")

elif score >= 70:

    print("良好")

else:

    print("需要努力")

# 嵌套if语句

num = 15

if num > 0:

    if num % 2 == 0:

        print("正偶数")

    else:

        print("正奇数")

else:

    print("非正数")


7. 注意事项

  1. 缩进:Python用缩进(通常4个空格)表示代码块,缩进错误会导致程序出错。
  2. 冒号:每个条件判断后要加冒号 :。
  3. 变量类型转换:可以使用 int(), float(), str() 等函数转换类型。
  4. 输入函数:使用 input() 获取用户输入,返回的是字符串类型。

python

# 类型转换示例

num_str = "10"

num_int = int(num_str)  # 字符串转整数

# 输入处理

age_input = input("请输入你的年龄: ")

age = int(age_input)  # 将输入的字符串转换为整数


8. 总结

  • 变量是存储数据的基本单位,命名需遵循规则。
  • 常见数据类型包括整型、浮点型、字符串、布尔型等。
  • 运算符包括算术、比较、逻辑、成员和位运算符。
  • 选择结构(if/elif/else)用于根据条件执行不同的代码块。
  • 注意Python的缩进规则和语法细节。

http://www.dtcms.com/a/395714.html

相关文章:

  • BeanPropertyRowMapper
  • 深入解析Java中String的不可变性
  • windows-安装kafka并启动
  • linux 驱动私有数据
  • 信息系统监理师软考备考指南:组织协调与沟通管理专题精讲
  • 【开题答辩全过程】以 JAVA农产品销售系统为例,包含答辩的问题和答案
  • Python 网络爬虫生态全景综述
  • MCP— Model Context Protocol(模型上下文协议)
  • 解决ubuntu无法连接上security.ubuntu.com:80 (185.125.190.81)的问题
  • SHAP分析 | MATLAB实现XGBoost极限梯度提升树多输入单输出回归预测+SHAP可解释分析分析(预测新数据,多指标评价)
  • 磁共振成像原理(理论)11:梯度回波 (Gradient Echoes)
  • odoo18全局菜单搜索
  • langchain链中的高级组件
  • 鸿蒙:使用animation或animateTo实现图片无限旋转效果
  • 02)阿里 Arthas(阿尔萨斯)开源的 Java 诊断工具原理分析、JVM动态加载“代理程序“(Agent) 的机制、vm.loadAgent原理
  • [学习笔记][机器学习-周志华] 第1章 绪论
  • Node.js面试题及详细答案120题(111-120) -- 进阶与扩展篇
  • 鞋底布线前传:CAD三维建模如何实现精准凸起设计
  • 华为无线网络技术基础
  • Django 模型与 ORM 全解析(二):数据库操作
  • Python 2025:AI与自动化运维的融合新纪元
  • MySQL 核心函数与约束详解
  • 设计模式简要
  • 服务扩容与容量评估手册
  • Pyside6 + QML - 信号与槽08 - 一个函数被多个信号触发(带参数)
  • 【第十一章】Python 调用 MySQL 全面指南:从基础到实践​
  • 新手玩家如何使用云手机
  • 【Datawhale组队学习202509】AI硬件与机器人大模型 task02 视觉感知与手眼协调
  • 基础算法---【前缀和】
  • YOLO系统——yolov1工作原理