9-13 使用OrderedDict: 在练习6-4中,你使用了一个标准字典来表示词汇表。请使用OrderedDict类来重写这个程序,并确认输出的顺序与你在字典中添加键-值对的顺序一致。
from collections import OrderedDict
volubary = OrderedDict()
volubary['a'] = 5
volubary['b'] = 4
volubary['c'] = 3
volubary['d'] = 2
volubary['e'] = 1
for key, value in volubary.items():
print("key:" + key + " value:" + str(value))
volubary['abc'] = 123
volubary['bcd'] = 234
volubary['cde'] = 345
volubary['def'] = 456
volubary['efg'] = 567
for key, value in volubary.items():
print("key:" + key + " value:" + str(value))
9-14 骰子:模块random包含以各种方式生成随机数的函数,其中的randint()返回一个位于指定范围内的整数,例如,下面的代码返回一个1~6内的整数:
from random import randint
x = randint(1,6)
请创建一个Die类,它包含一个名为sides的属性,该属性的默认值为6.编写一个名为roll_die的方法,它打印位于1和骰子面数之间的随机数。创建一个6面的骰子,在掷10次。
from random import randint
class Die():
def __init__(self, sides=6):
self.sides = sides
def roll_die(self, times):
for i in range(times):
number = randint(1, self.sides)
print("number is: " + str(number))
die1 = Die(6)
die1.roll_die(10)
print("\n")
die2 = Die(10)
die2.roll_die(10)
print("\n")
die3 = Die(20)
die3.roll_die(10)
评注:这里要善于利用参数,尽量使用函数来解决多次调用的问题,一开始写的太傻了。可以在实例化的时候传参sides,在调用方法的时候传参循环次数。