初学python心得体会200字_写给Python初学者的心得体会总结,【090819】更新中.........

本文是作者作为Python初学者的心得体会,分享了while循环的使用,包括条件表达式、break和continue的运用。还讨论了在Python中计算一组数平均值时遇到的小数部分显示问题,提出了解决方案,并提到了Python中浮点数表示的精度问题及其解决方法,引入了decimal模块的Decimal类来确保精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己就是个新手,写的也是非常“新手”的常识, 没有先后次序之分,想到哪,写到哪。有些简单的东西,整理一遍之后才发现,哇~原来这个还可以这样的......while 的用法:

while 后面跟条件表达式,(:)后面跟语句块,你可以在这段语句块里修改条件表达式的某些变量,当条件表达式 为假的时候退出循环。例如:flag = 5

while flag > 0:

#这里是你的代码

flag -= 1

#if flag == 3: break

#if flag == 3: continue

print flag

当然你也可以在适当的时候用 break 直接跳出循环。

执行 continue 语句表示 忽略该循环 continue 以后的代码,直接进行下一次迭代(循环),即跳到 条件表达式 处。

注意一点,如果一开始 条件表达式 为假,那么while 里的代码一次都不会执行。

条件表达式 也可以是一个值 ,如 True ,这时候一般需要 break 语句配合循环的退出。一个循环的简单例子from random import randint

from time import sleep,ctime

'''随机得到100个数(字符串表示),然后间隔2秒循环3次,每次输出其中一段数字'''

aList = ''

for i in range(100): #得到100个随机数的字符串表示

aList += str(randint(0,9))

reFlag = 5 #循环 5 次

while reFlag > 0:

getNum = int(aList[randint(0,49):randint(50,99)]) #得到随机N个数字

sleep(2)

print getNum

reFlag -= 1

问题:用Python求一组数的平均值,为什么最后只能显示整数部分呢,可以显示小数部分吗? def Average(list):

r=0

for i in list:

r+=i

result=r/len(list)

解:

代码中的除法为“地板除”,即它只取商的整数部分,不是真正的除法。

可以这样修改 result=float(r)/len(list),进行数字的显示转换。

也可以这样修改 result=1.0*r/len(list),   让解释器进行默认的类型转换(向(1.0)的类型进行转换),至于转换的优先级,正确的转换方向应该是,整数向长整数转换,长整数向浮点数转换,非复数向复数转换。

问题: >>>0.1  为何输出为 0.1000000000000001在C语言中,双精度的实现遵守IEEE 754规范,其中52位用于底。精度只有52位,那些超出位数的二进制表示会被截断。0.1 还是 0.1.

而在Python中,0.1的二进制表示是 0.11001100110011..*2(-3)(-3为指数)

与它最接近的二进制近似值是 0.0001100110011...,或表示为 1/16+1/32+1/256+... ,看到不了吧,这里边有个循环的问题,他在不停的重复舍入直到出错。

你可以导入 decimal 模块 的 Decimal 类:

731655954c7be9d8835ece551b5385f8.png>>>fromdecimalimportDecimal

731655954c7be9d8835ece551b5385f8.png>>>dec=Decimal('.1')

731655954c7be9d8835ece551b5385f8.png>>>dec

731655954c7be9d8835ece551b5385f8.pngDecimal('0.1')

731655954c7be9d8835ece551b5385f8.png>>>printdec

731655954c7be9d8835ece551b5385f8.png0.1731655954c7be9d8835ece551b5385f8.png更多内容请参阅 “十进制浮点型”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值