目录
-> 上篇传送门: python入门篇02 python的语法基础
| 序号 | 基础说明 |
|---|---|
| 1.1 | 变量声明, 注释声明,数据类型, 类型转换 |
| 1.2 | 关键字 数学运算符 赋值运算符 |
| 1.3 | 字符串定义(三种) 字符串拼接 格式化 浮点数四舍五入写法 |
| 1.4 | 控制台输入input()方法 随机数random, import导包 |
| 1.5 | 布尔类型 比较运算符 if逻辑判断 if elif else 使用 嵌套if使用 |
| 1.6 | 案例总结: 随便编了一个案例 包含上诉所有内容 |
-> 2.0 需求摘要:
请输入购买的苹果和橘子是多少斤
已知苹果三块钱一斤,橘子五块钱一斤,
现在有活动一: 总价超过20打九折 大于等于50打八折,
最新推广活动: 办理会员卡 超过50的折上折 (9折) 也就是 超过50的先打8折 然后再打9折
整体结算后 输出小票: 包含(用户本次消费的金额,折扣金额,折扣率等 其他自己定义)
- """
- 4. 案例---> pzy超市的收银系统(控制台输入版)
- * 随便编的
- * (大家看看跟java和区别)个人感觉 没有java强类型那么舒服呢
-
-
- * 需求: 请输入购买的苹果和橘子是多少斤
- 已知苹果三块钱一斤,橘子五块钱一斤,
- 现在有活动一: 总价超过20打九折 大于等于50打八折,
- 最新推广活动: 办理会员卡 超过50的折上折 (9折) 也就是 超过50的先打8折 然后再打9折
- 整体结算后 输出小票: 包含(用户本次消费的金额,折扣金额,折扣率等 其他自己定义)
-
- 目的: 计算总价和折扣金额(注意 float并不适合金融类计算 如果出现精度丢失请忽略)
- """
安装python环境(python.exe) 用pycharm,idea ,cmd都可以运行
- # 4.1 声明变量
- apple_price = 3
- orange_price = 5
- real_price = 0
- discount_price = 0
- discount_rate = 0
-
- # 加一个会员卡信息(正常是数据库操作)
- vip_card_num = 2023010100001
- vip_discount_rate = 0.9
-
- # 4.2 接收控制台值
- print("欢迎来到pzy小店~~~")
- apple_buy_count = int(input("请输入购买的苹果斤数: \n"))
- orange_buy_count = int(input("请输入购买的橘子斤数: \n"))
-
- # 4.3 金额计算(接收字符串需要转换一下)
- sum_price = int(apple_price * apple_buy_count + orange_price * orange_buy_count)
-
- # 判断条件 总原价大于20 计算折扣价格
- if sum_price > 20:
- discount_rate = 0.9
- real_price = sum_price * discount_rate
- discount_price = sum_price - real_price
-
- # 判断条件 总原价大于50 计算折扣价格
- # elif sum_price > 50: # else if 的python写法 elif
- if sum_price > 50:
- discount_rate = 0.8
-
- # 如果超过50 并且有会员卡号 在原来基础上 再打9折
- if vip_card_num == int(input("请输入会员卡号: \n")):
- # 重新赋值给折扣率 折上折了
- discount_rate = discount_rate * vip_discount_rate
-
- real_price = sum_price * discount_rate
- else:
- print("未找到您的会员信息, 不能再次折扣!")
- real_price = sum_price * discount_rate
-
- discount_price = sum_price - real_price
-
- # 输出结果: 细节一 字符串换行与java不同 细节二 浮点类型 需要保留小数位数
- print(f"您好 您在超市购买清单如下: \n苹果: {apple_buy_count}斤, 橘子: {orange_buy_count}斤,\n"
- f"原价: %.2f元,\n实际支付: %.2f元, \n优惠金额: %.2f元, \n折扣是: %.2f折"
- % (sum_price, real_price, discount_price, discount_rate * 10))
-
- print("\n欢迎下次再来~~~")
有java环境 jdk (java.exe) 用idea cmd都可以 但是需要编译成.class文件后才能运行
- import java.util.Scanner;
-
- /**
- * 4. 案例---> pzy超市的收银系统(控制台输入版)
- * * 随便编的
- * * (大家看看跟java和区别)个人感觉 没有java强类型那么舒服呢
- * * 需求: 请输入购买的苹果和橘子是多少斤
- * 已知苹果三块钱一斤,橘子五块钱一斤,
- * 现在有活动一: 总价超过20打九折 大于等于50打八折,
- * 最新推广活动: 办理会员卡 超过50的折上折 (9折) 也就是 超过50的先打8折 然后再打9折
- * 整体结算后 输出小票: 包含(用户本次消费的金额,折扣金额,折扣率等 其他自己定义)
- *
- * 目的: 计算总价和折扣金额(注意 float并不适合金融类计算 如果出现精度丢失请忽略)
- *
- * @author pzy
- * @version 0.1.0
- * @description: TODO
- */
- public class Test05 {
- public static void main(String[] args) {
-
- //控制台输入
- Scanner scanner = new Scanner(System.in);
-
- // 4.1 声明变量
- int applePrice = 3;
- int orangePrice = 5;
- float realPrice = 0F;
- float discountPrice = 0F;
- float discountRate = 0F;
-
- // 加一个会员卡信息(正常是数据库操作)
- Long vipCardNum = 2023010100001L;
- float vipDiscountRate = 0.9F;
-
- // 4.2 接收控制台值
- System.out.println("欢迎来到pzy小店~~~");
-
- System.out.println("请输入购买的苹果斤数: ");
- int appleBuyCount = scanner.nextInt();
-
- System.out.println("请输入购买的橘子斤数: ");
- int orangeBuyCount = scanner.nextInt();
-
- // 4.3 金额计算(接收字符串需要转换一下)
- float sumPrice = applePrice * appleBuyCount + orangePrice * orangeBuyCount;
-
- // 判断条件 总原价大于20 计算折扣价格
- if (sumPrice > 20) {
- discountRate = 0.9F;
- realPrice = sumPrice * discountRate;
- discountPrice = sumPrice - realPrice;
- }
- // 判断条件 总原价大于50 计算折扣价格
- // elif sumPrice > 50: // else if 的python写法 elif
- if (sumPrice > 50) {
- discountRate = 0.8F;
-
- // 如果超过50 并且有会员卡号 在原来基础上 再打9折
- System.out.println("请输入会员卡号: ");
- if (vipCardNum == scanner.nextLong()) {
- // 重新赋值给折扣率 折上折了
- discountRate = discountRate * vipDiscountRate;
-
- realPrice = sumPrice * discountRate;
- } else {
- System.out.println("未找到您的会员信息, 不能再次折扣!");
- realPrice = sumPrice * discountRate;
- discountPrice = sumPrice - realPrice;
- }
- }
-
- // 输出结果: 细节一 字符串换行与java不同 细节二 浮点类型 需要保留小数位数
- System.out.printf("您好 您在超市购买清单如下: \n苹果: %s斤, 橘子: %s斤,\n" +
- "原价: %.2f元,\n实际支付: %.2f元, \n优惠金额: %.2f元, \n折扣是: %.2f折\n",
- appleBuyCount, orangeBuyCount, sumPrice, realPrice, discountPrice, discountRate * 10);
-
- System.out.println("欢迎下次再来~~~");
- }
- }
---> 2.3.1 总运行结果(文字)
欢迎来到pzy小店~~~
请输入购买的苹果斤数:
1
请输入购买的橘子斤数:
10
请输入会员卡号:
2023010100001
您好 您在超市购买清单如下:
苹果: 1斤, 橘子: 10斤,
原价: 53.00元,
实际支付: 38.16元,
优惠金额: 14.84元,
折扣是: 7.20折欢迎下次再来~~~


java的可读性更强 一板一眼的
而python 更简洁 但由于类型是自动判断, 有时候需要转换一下
就是上面一个小案例 就用到了很多java基础知识
访问控制修饰符public
静态修饰符static
无返回值void
数组 string[] args
类class
包package
导包 import 以及
对象Scanner 控制台输入
8种基本类型中的四种(int long float boolean)
一种引用类型String 几相关操作
三种数据类型
一个方法input() 则直接可以控制台输入
字符串相关操作
相比之下 java上面的小案例 涉及到了java很多基础, 然而大部分在这案例里都没用上
循环