Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94934
  • 博文数量: 30
  • 博客积分: 1235
  • 博客等级: 中尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-20 21:15
文章分类

全部博文(30)

文章存档

2010年(8)

2009年(22)

我的朋友

分类: Python/Ruby

2009-10-29 19:22:52

近日学习python,把一些做的习题做个记录

题目:
    带文本菜单的程序 写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个
数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序
结束。 个 这 程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启你 动 的脚本。 (这
开 对发人员测试自己的程序也会大有用处)

答案:

'''
Created on 2009-10-29

@author: waterfrog
'
''

def printMenu():
    menus = ["(1)取五個數的和","(2)取五個數的平均值","(X)取出"]
    for menu in menus:
        print(menu)
        
def printErrorMsg():
    input("對不起,您的輸入不正常,請按回車鍵繼續");

def sumFiveNumber(num):
    return sum(num)

def averageFiveNumber(num):
    return sumFiveNumber(num)/len(num)


def getFiveNumber(num_count):
    num = []
    try:
        for i in range(num_count):
            num.append(float(input("請輸入第" + str(i+1) + "個數: ")))
        #num.append(float(input("請輸入第一個數: ")))
        #num.append(float(input("請輸入第二個數: ")))
        #num.append(float(input("請輸入第三個數: ")))
        #num.append(float(input("請輸入第四個數: ")))
        #num.append(float(input("請輸入第五個數: ")))
    except ValueError:
        print("您的輸入不正確,請重新來過")
        return False
    
    return num


def demo1():
    while True:
        printMenu()
        operation = input("請選擇您要進行的操作").lower()
        
        if operation == 'x':
            break

        elif operation =='1':
            num = getFiveNumber(5)
            if num == False:
                continue
            print("(求和)計算結果是: ", sumFiveNumber(num))
            input("按回車鍵繼續")
        
        elif operation == '2':
            num = getFiveNumber(5)
            if num == False:
                continue
            print("(求平均值)計算結果是: ", averageFiveNumber(num))
            input("按回車鍵繼續")
            
        else:
            printErrorMsg()
            

if __name__ == '__main__':
    demo1()

            
            


阅读(703) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~