我是靠谱客的博主 知性狗,最近开发中收集的这篇文章主要介绍Python学习笔记——重点掌握int, float, str, bool四种数据类型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

必须掌握的知识:
int表示整形;
float表示浮点型;
str表示字符串;
bool是布尔类型,有ture跟false两个值;

附加知识:
s为字符串,s.isdigit(),判定所有的字符串都是数字,为真则返回ture,否则返回false;
isinstance, 内置函数,她有2个参数,第一个是带确定类型的数据,第二个是指定一个数据类型,该BIF会根据两个参数返回一个布尔类型的值,例如下图:
在这里插入图片描述

动手题目来啦~~
写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)

编程思路:
1、判定用户输入的是数字而不是字母,不然程序会崩溃,我也会崩溃的~~
2、闰年的计算方法是:
a. 普通年能被4整除且不能被100整除的为闰年;(如2004年就是闰年,1901年不是闰年)
b.世纪年能被400整除的是闰年(如2000年是闰年,1900年不是闰年)

以下是实现代码:

temp = input("请输入一个年份:")
while not temp.isdigit(): #需要先判定用户输入的是个数字而不是字母
    temp = input("抱歉,您的输入有误,请输入一个整数:")

year = int(temp) #将输入的数字转换为整数
#if isinstance(year/400,int): 不能用这个语句实现,因为python里面的减法运算默认都是浮点型
if year/400 == int(year/400): #在python里面浮点型跟整形的数字是可以同时进行对比运算的,这又是个坑~
    print(temp + "是闰年!")
else:
    if (year/4 == int(year/4)) and (year/100 != int(year/100)):
        print(temp + "是闰年!")
    else:
        print(temp + "不是闰年!")

关于代码里面的2行语句,有必要拎出来单独说一下:
1、if isinstance(year/400,int):
这个语句本身就是个bug,因为python里面的减法默认都是浮点型,所以isinstance(year/400,int)返回的值永远都是false,这是个坑啊~~,不信看下实际运行图:
在这里插入图片描述
索性把加减乘除的所有可能全部试了一下,得到一下结果:
在这里插入图片描述
除了除法,其他运算只要数字不是浮点型,都是整形输出!!!

2、if year/
400 == int(year/400):
在python里面浮点型跟整形的数字是可以同时进行对比运算的,编程之初根本没有想到这一点,所以才有了isinstance的错误用法,又踩了一个坑啊~~
在这里插入图片描述

总结:
小白学习python,即使写不出代码,转而做代码搬运工的时候,遇到有疑问的语句还是要尽量释疑,看能不能用自己想到的语句代替;
如果运行出现错误,多问为什么,多试几次没准就找到头绪了,当然,也不要死磕~~~
虽然前期学习的进度会很慢很慢,但起码是一步一个脚印嘛(这个算是自我安慰,学编程时没少被家里的老程序猿鄙视脑袋瓜子迟钝~)

最后

以上就是知性狗为你收集整理的Python学习笔记——重点掌握int, float, str, bool四种数据类型的全部内容,希望文章能够帮你解决Python学习笔记——重点掌握int, float, str, bool四种数据类型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部