Python初学笔记(转载)
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 类:
>>>from decimal
相关文档:
http://blog.csdn.net/myan/archive/2008/01/07/2028545.aspx
http://blog.csdn.net/gashero/archive/2007/06/03/1636030.aspx
我感觉还是python应用更广一些,Ruby的RoR做Web框架好一些吧,至于perl,现在感觉实在有几分苦涩…… ......
1. 9.7 正则表达式与 re 模块
一个正则表达式就是一个用来表示某种模式的字符串。它能帮助你方便的检查一个字符串是否与某种模式匹配。
re 模块使 Python 语言拥有全部的正则表达式功能。 compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。 re 模 ......
工具栏->高级->配置->编辑器显示->语法加亮->打开
在打开的文件中结尾加上下面文字,并保存。
/L10"Python" Line Comment = # Block Comment One = """ Block Comment Off = """ Escape Char = \ File Extensions = PY PYW
/Indent Strings = ":"
/Function String 1 = "%[ ,^t]++def[ ]+^([a-zA-Z0-9_] ......
公司的代理可以直接穿墙,自由访问Twitter、Facebook等网站,这两天研究了一下Twitter提供的API,用python写了一个twitter client,只实现了基本功能,查看自己的twitter消息,也可以不验证,查看public的twitter消息。其他功能实现类似。主要函数如下:
def fetch_with_proxy(proxy, username, password, url):
&n ......
俄罗斯方块游戏,使用Python实现,总共有350+行代码,实现了俄罗斯方块游戏的基本功能,同时会记录所花费时间,消去的总行数,所得的总分,还包括一个排行榜,可以查看最高记录。
排行榜中包含一系列的统计功能,如单位时间消去的行数,单位时间得分等。
附源码:
from Tkinter import *
from tkMessageBox import *
i ......