我们所做的只是提供两个数,range返回一个序列的数。这个序列从第一个数开始到第二个数为止。例如,range(1,5)给出序列[1, 2, 3, 4]。默认地,range的步长为1。如果我们为range提供第三个数,那么它将成为步长。例如,range(1,5,2)给出[1,3]。记住,range 向上 延伸到第二个数,即它不包含第二个数。for循环在这个范围内递归——for i in range(1,5)等价于for i in [1, 2, 3, 4],这就如同把序列中的每个数(或对象)赋值给i,一次一个,然后以每个i的值执行这个程序块。在这个例子中,我们只是打印i的值。记住,else部分是可选的。如果包含else,它总是在for循环结束后执行一次,除非遇到break语句。
#!/usr/bin/python
# Filename: for.py
price=230
#只有5次机会猜价格,猜对有奖品
for i in range(1,6):
guess=int(raw_input('请输入产品价格:'))
if guess==price:
print '主持人:恭喜您猜对了!获得XXX奖品一份'
break
elif guess > price:
print '主持人:很抱歉,价格高了!您还有',5-i,'次机会'
else:
print '主持人:很抱歉,价格低了!您还有',5-i,'次计划'
else:
print '抱歉,您已经用猜了',i,'次了,没机会了'
运行后输出结果:
>>> ================================ RESTART ================================
>>>
请输入产品价格:100
主持人:很抱歉,价格低了!您还有 4 次计划
请输入产品价格:101
主持人:很抱歉,价格低了!您还有 3 次计划
请输入产品价格:150
主持人:很抱歉,价格低了!您还有 2 次计划
请输入产品价格:200
主持人:很抱歉,价格低了!您还有 1 次计划
请输入产品价格:500
主持人:很抱歉,价格高了!您还有 0 次机会
抱歉,您已经用猜了 5 次了,没机会了
>>>
>>> ================================ RESTART ================================
>>>
请输入产品价格:300
主持人:很抱歉,价格高了!您还有 4 次机会
请输入产品价格:20
主持人:很抱歉,价格低了!您还有 3 次计划
请输入产品价格:230
主持人:恭喜您猜对了!获得XXX奖品一份
>>>