循环:
>>> for x in range(1,10): PRint x123456789>>>程序输出了数字1~9,而不是1~10。这里需要解释一下,因为range这个命令是排除结尾最后的一个数字的,所以,它在输出结果时不会包括范围内的最后一个数,但是它包含第一个数。
这次我们将代码改进一下,显示结果如下:
>>> list(range(1,10))[1, 2, 3, 4, 5, 6, 7, 8, 9]>>>留意一下标点符号,代码中的圆括号中所包含的数字被称为参数。range命令内就含有两个参数,从1开始,到10结束,以逗号“,”隔开。
命令for in由两部分组成。在单词for之后必须跟一个变量名,而这个变量会在每次循环之后被赋予一个新值。所以,第一次的时候,它的值就是1,第二次的时候是2,以此类推。
而在单词in之后,Python会计算出一整套循环,并且列出来,这样就形成了最终显示的1~9列表。
生成随机数(模拟色子):
>>> import random>>> random.randint(1,6)2你可以试着把第二行多输入几遍,这样就会发现,得到的结果并非都是一样的数字,而是1~6的随机数。
生成十个随机数:
>>> import random>>> for x in range(1,11): random_number=random.randint(1,6) print(random_number)4132453164>>>if 本节将给这个“色子”程序加点“料”。比如两个色子一起丢,然后得到两个色子丢出次数的总和,将这个值输出。
>>> import random>>> for x in range(1,11): throw_1=random.randint(1,6) throw_2=random.randint(1,6) total=throw_1+throw_2 print(total) if total==7: print('Seven Thrown!') if total==11: print('Eleven Thrown!') if throw_1==throw_2: print('Double Thrown!')2Double Thrown!57Seven Thrown!845657Seven Thrown!8>>>逻辑计算:
>>> True+True2>>> True+False1>>>else: 在之前的例子里,经常会看到在丢出色子后,可能显示的不止一条信息,只要if条件为真,都有可能输出一些额外的信息。有时,你或许想要有一些稍微不同的逻辑模式:如果if条件为真,你将这样,如果为假,你就那样。在Python里,需要用else来实现:
>>> a=7>>> if a>7: print('a is big')else: print('a is small')a is small>>>在这个程序里,虽然有两种显示结果,但是在同一时间,只可能显示一条。
另一种变化是elif,就是else if的缩写。因此,可以把之前的例子扩展一下,让它变成3条逻辑线。
>>> a=7>>> if a>7: print('a is big')else: print('a is small')a is small>>> a=7>>> if a>9: print('a is very big')elif a>7: print('a is fairly big')else: print('a is small')a is small>>>while:
本节将介绍while循环,它与之前的for循环稍稍有些不同。先说相同之处,这样有利于理解和掌握while循环。相同之处在于,后面都跟着一个条件,在这种情况下,之前所设立的条件一直在循环内。换句话说,只要执行条件为真,循环内的代码就会不断重复执行。这意味着需要考虑周全,并且确定什么时候条件才会不成立,否则,这个代码就成为了一个永无止境的程序,直到计算机死机。
修改前面的程序:
>>> import random>>> throw_1=random.randint(1,6)>>> throw_2=random.randint(1,6)>>> while not(throw_1==6 and throw_2==6): total=throw_1+throw_2 print(total) throw_1=random.randint(1,6) throw_2=random.randint(1,6)print('Double Six thrown!')虽然这段代码能够正常运行,但是看起来太“臃肿”。主要是因为写了两遍这段代码:
throw_1=random.randint(1,6) throw_2=random.randint(1,6)这里得告诉大家一条程序界内的“军规”——DRY(Don’t Repeat Yourself,拒绝重复)。当然,这句话肯定不是为这段代码而准备的,但是,作为一个合格的程序员,必须牢记这段话,因为以后将面对比这复杂百倍的程序。所以必须努力避免重复使用同一段代码。如果违反了这条规则,所写出的程序维护起来会相当痛苦。
你可以使用一个break来缩短代码,使之前的代码看起来“干练”一些。当Python遇到break时,变会跳出循环。
>>> import random>>> while True: throw_1=randon.randint(1,6) throw_2=random.randint(1,6) total=throw_1+throw_2 print(total) if throw_1==6 and throw_2==6: breakprint('Double Six thrown!')新闻热点
疑难解答