Python核心编程(第二版)练习8-2

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# exercise_8_2.py
def input_decimal(str):
    while True:
        num = raw_input(str)
        if num and ((num[0]=='-' and unicode(num[1:]).isdecimal()) \
                or unicode(num).isdecimal()):
            return int(num)
        else:
            print "请输入实数!"
            continue

def start():
    f=input_decimal('from:')
    t=input_decimal('to:')
    i=input_decimal('increment:')
    if f<=t and i>0:
        print 'result:',range(f,t+1,i)
    elif f>=t and i<0:
        print 'result:',range(f,t-1,i)
    else:
        print '输入数据范围有误,结果为空!'

def showmenu():
    print "功能:输入三个数字,得到一个列表"
    prompt = """\
    (s)tart
    (q)uit
    Enter choice: """

    while True:
        chosen = True
        while chosen:
            try:
                choice = raw_input(prompt).strip()[0].lower()
            except (EOFError, KeyboardInterrupt):
                choice = 'q'
            print '\nYou picked: [%s]' % choice
            if choice not in 'sq':
                print 'invalid option, try again'
            else:
                chosen = False
        if choice =='q':
            break
        else:
            start()

if __name__ == '__main__':
    showmenu()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值