python入门篇03 基础案例 python版与java版 语法不同之处

news2025/2/24 5:46:48

目录

1. 前言: 

  -> 上篇传送门: python入门篇02 python的语法基础

2. 案例: pzy超市的收银系统(控制台输入版)

-> 2.0 需求摘要:

-> 2.1 python代码答案:  <直接可以运行>

-> 2.2 java代码答案: <必须有main方法>

2.3 两种代码运行的结果: (一样的结果)

---> 2.3.2 python运行结果(图示)

 ---> 2.3.3 java运行结果(图示)

 3. 下篇传送


1. 前言: 

  -> 上篇传送门: python入门篇02 python的语法基础

序号基础说明
1.1变量声明, 注释声明,数据类型, 类型转换
1.2关键字 数学运算符 赋值运算符
1.3字符串定义(三种) 字符串拼接 格式化 浮点数四舍五入写法
1.4控制台输入input()方法  随机数random, import导包
1.5布尔类型 比较运算符 if逻辑判断 if elif else 使用 嵌套if使用
1.6案例总结: 随便编了一个案例 包含上诉所有内容

2. 案例: pzy超市的收银系统(控制台输入版)

-> 2.0 需求摘要:

请输入购买的苹果和橘子是多少斤
   已知苹果三块钱一斤,橘子五块钱一斤,
   现在有活动一: 总价超过20打九折 大于等于50打八折,
   最新推广活动: 办理会员卡 超过50的折上折 (9折) 也就是 超过50的先打8折 然后再打9折
   整体结算后 输出小票: 包含(用户本次消费的金额,折扣金额,折扣率等 其他自己定义)

"""
4. 案例---> pzy超市的收银系统(控制台输入版)<python版>
* 随便编的
* (大家看看跟java和区别)个人感觉 没有java强类型那么舒服呢  
 
   
* 需求: 请输入购买的苹果和橘子是多少斤
   已知苹果三块钱一斤,橘子五块钱一斤,
   现在有活动一: 总价超过20打九折 大于等于50打八折,
   最新推广活动: 办理会员卡 超过50的折上折 (9折) 也就是 超过50的先打8折 然后再打9折
   整体结算后 输出小票: 包含(用户本次消费的金额,折扣金额,折扣率等 其他自己定义)
   
目的: 计算总价和折扣金额(注意 float并不适合金融类计算 如果出现精度丢失请忽略)
"""

-> 2.1 python代码答案:  <直接可以运行>

 安装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欢迎下次再来~~~")

-> 2.2 java代码答案: <必须有main方法>

有java环境 jdk (java.exe) 用idea cmd都可以 但是需要编译成.class文件后才能运行

import java.util.Scanner;

/**
 * 4. 案例---> pzy超市的收银系统(控制台输入版)<java版>
 * * 随便编的
 * * (大家看看跟java和区别)个人感觉 没有java强类型那么舒服呢
 * * 需求: 请输入购买的苹果和橘子是多少斤
 * 已知苹果三块钱一斤,橘子五块钱一斤,
 * 现在有活动一: 总价超过20打九折 大于等于50打八折,
 * 最新推广活动: 办理会员卡 超过50的折上折 (9折) 也就是 超过50的先打8折 然后再打9折
 * 整体结算后 输出小票: 包含(用户本次消费的金额,折扣金额,折扣率等 其他自己定义)
 * <p>
 * 目的: 计算总价和折扣金额(注意 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 两种代码运行的结果: (一样的结果)

---> 2.3.1 总运行结果(文字) 

欢迎来到pzy小店~~~
请输入购买的苹果斤数: 
1
请输入购买的橘子斤数: 
10
请输入会员卡号: 
2023010100001
您好 您在超市购买清单如下: 
苹果: 1斤, 橘子: 10斤,
原价: 53.00元,
实际支付: 38.16元, 
优惠金额: 14.84元, 
折扣是: 7.20折

欢迎下次再来~~~

---> 2.3.2 python运行结果(图示)

 

 ---> 2.3.3 java运行结果(图示)


 3. 下篇传送

循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/863461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

424. 替换后的最长重复字符

424. 替换后的最长重复字符 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 424. 替换后的最长重复字符 https://leetcode.cn/problems/longest-repeating-character-replacement/description/ 完成情况&#xff…

集群安装OpenFOAM

在个人电脑上安装比较简单&#xff0c;在服务器上安装多出几个步骤&#xff0c;需要首先安装boost库以及openmpi库 下面步骤主要参考这篇博文&#xff0c;这里我自己重复一遍。 1、安装包准备 1.1、首先是下载OF源码和第三方库&#xff0c;这里采用wget的方式下载 wget -O …

【golang】怎样判断一个变量的类型?

怎样判断一个变量的类型&#xff1f; package mainimport "fmt"var container []string{"zero", "one", "two"} func main() {container : map[int]string{0: "zero", 1: "one", 2: "two"}fmt.Printf…

为什么边缘计算一定会迎来大爆发?

边缘计算是指在靠近数据源和终端设备的边缘位置进行数据处理、分析和存储的一种计算模式&#xff0c;相对于传统的云计算中心&#xff0c;它将计算资源尽可能地靠近数据源和终端设备。工业物联网是物联网在工业领域的应用&#xff0c;其中边缘计算在工业物联网中扮演着至关重要…

带你了解—通过远程访问局域网服务区并进行数据采集【内网穿透】

文章目录 前言1.使用cpolar进行局域网数据采集的案例2.远程数据隧道功能 前言 cpolar作为一款轻便易用、功能强大的内网穿透软件&#xff0c;在很多应用场景中都能大显身手。其中最常见的&#xff0c;就是网络网站方面的应用。利用cpolar建立的数据隧道&#xff0c;能够轻松实…

网易互娱出海之旅:大数据平台上云架构设计与实践

2020 年初&#xff0c;随着网易互娱的海外业务增长与海外数据合规的需求&#xff0c;我们开始了网易互娱大数据离线计算平台迁移出海的工作。前期&#xff0c;我们采取了云主机裸机加上高性能 EBS 块存储的方案。但是&#xff0c;这个方案存储费用高昂&#xff0c;成本是国内自…

【强化学习】值函数算法DQNs详解【Vanilla DQN Double DQN Dueling DQN】

DQNs【Vanilla DQN & Double DQN & Dueling DQN】 文章目录 DQNs【Vanilla DQN & Double DQN & Dueling DQN】1. DQN及其变种介绍1.1 Vanilla DQN1.2 Double DQN1.3 Dueling DQN 2. Gym环境介绍2.1 Obseravtion Space2.2 Reward Function2.3 Action Space 3. D…

Vue3 :Pinia入门

Vue3 &#xff1a;Pinia入门 Date: May 11, 2023 Sum: Pinia概念、实现counter、getters、异步action、storeToRefs保持响应式解构 什么是Pinia Pinia 是 Vue 的专属状态管理库&#xff0c;可以实现跨组件或页面共享状态&#xff0c;是 vuex 状态管理工具的替代品&#xff0c…

晨控CK-GW06-E01与汇川H5U系列PLC通讯手册

晨控CK-GW06-E01与汇川H5U系列PLC通讯手册 晨控CK-GW06-E01是一款支持标准工业通讯协议 EtherNet IP 的网关控制器,方便用户集成到PLC等控制系统中。本控制器提供了网络 POE 供电和直流电源供电两种方式&#xff0c;确保用户在使用无 POE 供电功能的交换机时可采用外接电源供电…

18 | 淘宝用户行为分析

分析目的 本报告以淘宝app的用户消费行为数据为数据集,通过行业的指标对淘宝用户行为进行分析,从而探索淘宝用户的行为模式,具体指标包括: 日PV和日UV分析,付费率分析,复购行为分析,漏斗流失分析和用户价值RFM分析。为用户运营更好地解析和管理用户(例如对高价值用户的维…

SpringBoot+Vue3打造企业级一体化PaaS系统

目录 一、前言 二、PaaS的概念 三、PaaS中包含什么&#xff1f; 四、使用PaaS的优势 五、SpringBootVue3打造企业级PaaS系统 六、小结 一、前言 云计算的三种模型是PaaS&#xff0c;SaaS&#xff08;软件即服务&#xff09;和IaaS&#xff08;基础架构即服务&#xff09;。 Iaa…

陪跑多年,Postgres终崛起封王!(译)

Postgres开源数据库刚刚度过了它的25岁生日。遗憾的是&#xff0c;它既没有凭借数百万美元的风险投资脱颖而出&#xff0c;也没有获得技术布道师DevRel团队的支持&#xff0c;只处于起步阶段&#xff0c;但却一直在更新。 几个月之后&#xff0c;Postgres 16正式版可能会闪亮登…

Active Directory安全和风险状况管理

风险评估和管理 风险评估和管理是主动安全性和合规性管理不可或缺的一部分。 发现关键基础设施组件中的风险行为和配置对于阻止网络入侵和预防网络攻击至关重要。帐户泄露和配置错误漏洞是用于破坏网络的常见技术。当评估、监控和降低 Active Directory 基础架构的风险时&…

阿里云SMS开通流程

No1&#xff1a;登录阿里云首页&#xff1a;选择 产品——>企业服务与云通信——>云通信——>短信服务 No2:选择 免费开通 No3&#xff1a;之后根据提示操作即可。 No4&#xff1a;开通之后效果如图&#xff1a; 至此短信服务已经开通。购买短信包之后便可使用

python异步IO完全指南

原地址&#xff1a;https://flyingbyte.cc/post/async_io/ python异步IO完全指南 做为一种并行编程的範式&#xff0c;异步IO在Python中非常受重视&#xff0c;从Python3.4到3.7快速演进。 我们已经有多线程&#xff0c;多进程&#xff0c;并发&#xff08;concurrency&#x…

cesium学习记录05-加载数据(矢量、影像、地形、3D模型)

1. 矢量数据&#xff1a; 1.1. GeoJSON 定义&#xff1a; 一个基于JSON的地理数据格式&#xff0c;Cesium支持GeoJSON的直接加载。 例子&#xff1a; 加载一个简易故宫建筑的GeoJSON数据。 代码&#xff1a; /*** 添加故宫geojson数据*/AddGuGong() {var viewer this.v…

提取有像素的掩码和原图

有些数据集给的掩码是全黑图片&#xff0c;需要将全黑的掩码剔除&#xff0c;保留有标签的掩码。 DDR-dataset 眼底图像处理 from PIL import Image import cv2 import osdef extract_mask_and_original(mask_path, original_path, output_folder):# 读取黑白掩码图片和同名原…

UDP 的报文结构和注意事项

目录 一. UDP的特点 二. UDP协议 1. UDP协议端格式 2.UDP的报文结构 3. 基于UDP的应用层协议 三. (高频面试题) 一. UDP的特点 无连接&#xff1a;知道对端的IP和端口号就直接进行传输&#xff0c;不需要建立连接。不可靠&#xff1a;即使因为网络故障等原因无法将数据报发送…

重磅!软考或全部改为机考?

最近&#xff0c;有同学分享了一张署名为“工业和信息化部教育与考试中心”的文件截图。 注&#xff1a;该截图来源于网络&#xff0c;而非官方 以下为该截图文件全文&#xff1a; 关于2023年下半年计算机软件资格考试有关工作调整的通知 各省、自治区、直辖市及计划单列市…

医疗PACS源码,支持三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜

C/S架构的PACS系统源码&#xff0c;PACS主要进行病人信息和影像的获取、处理、存储、调阅、检索、管理&#xff0c;并通过网络向全院提供病人检查影像及诊断报告&#xff1b;各影像科室之间共享不同设备的病人检查影像及诊断报告;在诊断工作站上&#xff0c;调阅HIS中病人的其它…