python 小程式製作範例(課後小作業)

試利用模組設計一個可以選擇二種運算的python程式
(1)可以輸入二個整數四則運算的運算器
(2)可以輸入一個整數值,並計算它的階層乘積
(3)離開

解答:

# homework.py
# coding: utf-8

import re,math

def isValidFormula(strFormula):
    regexp =re.compile(r'\d{1,5}[+|-|*|/]\d{1,5}')
    if regexp.search(strFormula): return True
    return False

def getArithmeticResult(strFormula):
    try:
        if isValidFormula(strFormula): return eval(strFormula)
        else: return 'input error'
    except: return 'input error'

def getFactorialResult(strNum):
    if strNum.isdigit(): return math.factorial(int(strNum))
    else: return 'input error'

def main():
    while True:
        print u'''
請選擇
(1)可以輸入二個整數四則運算的運算器
(2)可以輸入一個整數值,並計算它的階層乘積
(3)離開
               '''
        strChoice=raw_input('Select:')
        if strChoice.strip()=='1':
            print u'請輸入運算式:'
            strFormula=raw_input()
            print u'%s=%s'%(strFormula,getArithmeticResult(strFormula))
        elif strChoice.strip()=='2':
            print u'請輸入階層數字:'
            strNum=raw_input()
            print u'%s!=%s'%(strNum,getFactorialResult(strNum))
        elif strChoice.strip()=='3': break
        else: print 'your choice is error'
        print '=========================================='

if __name__=='__main__':
    main()    

      

沒有留言: