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

Python基础 P2数字类型与优先级进阶练习

文章目录

  • Python基础 P2数字类型与优先级进阶练习
    • 1.闰年判断器
    • 2.进制转换及求和
    • 3.单位转换

Python基础 P2数字类型与优先级进阶练习

1.闰年判断器

简介
对于闰年的判断就是判断输入的内容类型是否符合要求,然后通过逻辑判断和运算得出该年份是否为闰年

举个栗子
输入一个年份,判断该年份是否为闰年
闰年的判断标准:
1.该年可以被400整除
2.该年可以被4整除且不能被100整除

# 闰年判断器
year = input("请输入一个年份:")
while not year.isdigit():    year = input("抱歉,您的输入有误,请输入一个整数:")
year = int(year)
if year % 400 == 0:    print(year, "是闰年!")
else:    if year % 4 == 0 and year % 100 != 0:       print(year, "是闰年!")    else:        print(year, "不是闰年!")

year.isdigit() : 判断year的字符串里面是否都为数字,如果都是数字则返回True,如果有字母或其他类型则返回False

进阶练习

输入两个年份,判断两个年份期间一共有多少个闰年,分别是多少?

思路:
1.分别判断从年份1到年份2期间的年份是否为闰年
2.如果为闰年闰年计数加一,输出该年份
3.判断完全部的年份后输出闰年总数

程序(见附件)

2.进制转换及求和

简介

首先我们试试实现将二进制转换为其他进制

举个栗子

bin_num = input("请输入你的选项:")
dec_num = int(bin_num, 2)
bin_num = bin(dec_num)
oct_num = oct(dec_num)
hex_num = hex(dec_num)print("二进制", bin_num, "= 十进制", dec_num, "= 八进制", oct_num, "= 十六进制", hex_num)

进阶练习

实现选择需要转换的进制的内容,然后将其转为为其他三种进制的形式
可以选择输入多个不同进制的内容对其进行求和运算并输出结果的四种形式

程序(见附件)

3.单位转换

简介

对于单位的转换我们经常需要用到逻辑判断和运算

因此现在试图将华氏温度转换为摄氏温度

举个栗子
输入一个华氏摄氏度,将其转化为摄氏温度并输出

# 华氏温度转换为摄氏温度
f = float(input('请输入华氏摄氏度:'))
c = (f - 32) / 1.8
print("%.1f华氏度 = %.1f摄氏度" % (f, c))

但是会发现现在只能将华氏摄氏度而不能将摄氏温度转换为华氏温度,因此我们改进一下

举个栗子

# 温度转换
t_ch = 1
while t_ch != 0:   t_ch = int(input("--\n1.华氏度转换为摄氏度\n2.摄氏度转换为华氏度\n0.退出\n--\n请输入你的选项:"))   if t_ch == 1:        f = float(input("请输入华氏度:"))       c = (f - 32) / 1.8        print("%.1f华氏度 = %.1f摄氏度" % (f, c))   if t_ch == 2:       c = float(input("请输入摄氏度:"))       f = (c * 1.8) + 32        print("%.1f摄氏度 = %.1f华氏度" % (c, f))

这样就能选择华氏度转为摄氏度还是摄氏度转为华氏度,同时可以选择0再退出单位转换

进阶练习

制作一个可以进行温度、长度、重量单位转换的程序

程序(见附件)

http://www.lryc.cn/news/112232.html

相关文章:

  • CAPL通过继电器实现CAN容错性自动化测试
  • elasticsearch 配置用户名和密码
  • 侯捷 C++面向对象编程笔记——9 复合 委托
  • 状态模式——对象状态及其转换
  • Linux一阶段复习
  • 宝塔Linux面板怎么升级?升级命令及失败解决方法
  • 前端面试的性能优化部分(6)每天10个小知识点
  • 2023年 Java 面试八股文(20w字)
  • 银河麒麟服务器ky10-server在线一键安装docker
  • spring boot中web容器配置
  • DNSlog注入(利用DNSlog平台将SQL盲注变成回显注入)
  • vim学习笔记(致敬vim作者)
  • 力扣 -- 139. 单词拆分
  • 百度秋招攻略,百度网申笔试面试详解
  • nohup Java -jar 生成的nohup.out 文件一直增加,如何处理
  • 静态页面与动态页面的区别及部署jpress应用
  • 华为数通HCIA-华为VRP系统基础
  • 基于Azure OpenAI Service 的知识库搭建实验⼿册
  • 第七节--结构体
  • Docker学习(二十四)报错速查手册
  • 一种SpringBoot下Scheduler定时任务优雅退出方案
  • DNS部署与安全详解(上)
  • 【51单片机】晨启科技,酷黑版,音乐播放器
  • 基于SPSSPRO实现层次分析法(AHP)
  • Spring Test中使用MockMvc进行上传文件单元测试时,报NullPointerException
  • HTTP常用状态码及其含义
  • FFmpeg中AVIOContext的使用
  • 【react】react中BrowserRouter和HashRouter的区别:
  • 机器学习常用Python库安装
  • HTTP 劫持、DNS 劫持与 XSS