Python 猜价格游戏:for 结合 if进一步改进(3)

我们所做的只是提供两个数,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奖品一份
>>> 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值