小象学院之python实例

文章目录

python基础语法实例

汇率转换

1.0(缩进,注释 ,变量与命名,关键字 ,字符串,赋值 ,Input()与print())

# 输入人民币
RMB_str_value = input('请输入人民币(CNY)金额: ')
# 将字符串转换成数字
RMB_value = eval(RMB_str_value)
# 汇率
usd_vs_RMB = 6.77
# 汇率计算
usd_value = RMB_value / usd_vs_RMB

print('美元(USD)金额是:',usd_value)

2.0 (分支语句if else)

'''
    功能:输入带符号的数字,自动判断美元还是人民币,进行汇率换算
        人民币CNY 美元USD
    版本:2.0
    作者:飞
'''

# 汇率
usd_vs_RMB = 6.77

# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额: ')

# 获取货币单位
unit = currency_str_value[-3:]

if unit == 'CNY':
    # 输入的是人民币
    rmb_str_value = currency_str_value[:-3]
    # 将字符串转换成数字
    RMB_value = eval(rmb_str_value)

    # 汇率计算
    usd_value = RMB_value / usd_vs_RMB

    print('美元(USD)金额是:', usd_value)
elif unit == 'USD':
    # 输入的是美元
    rmb_str_value = currency_str_value[:-3]

    # 将字符串转换成数字
    RMB_value = eval(rmb_str_value)

    # 汇率计算
    usd_value = RMB_value * usd_vs_RMB

    print('人民币(CNY)金额是:', usd_value)
else:
    # 其他情况
    print('该程序尚不支持该货币类型1')

3.0 (循环语句while)

'''
    2.0功能:
         输入带符号的数字,自动判断美元还是人民币,进行汇率换算
        人民币CNY 美元USD
    版本:3.0
    新增功能:程序一直运行,直到用户选择退出
    作者:飞
'''

# 汇率
usd_vs_RMB = 6.77

# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q): ')

i = 0

while currency_str_value != 'Q':

    i = i+1
    # print('循环次数',i)

    # 获取货币单位
    unit = currency_str_value[-3:]

    if unit == 'CNY':
        # 输入的是人民币
        rmb_str_value = currency_str_value[:-3]
        # 将字符串转换成数字
        RMB_value = eval(rmb_str_value)

        # 汇率计算
        usd_value = RMB_value / usd_vs_RMB

        print('美元(USD)金额是:', usd_value)
    elif unit == 'USD':
        # 输入的是美元
        rmb_str_value = currency_str_value[:-3]

        # 将字符串转换成数字
        RMB_value = eval(rmb_str_value)

        # 汇率计算
        usd_value = RMB_value * usd_vs_RMB

        print('人民币(CNY)金额是:', usd_value)
    else:
        # 其他情况
        print('该程序尚不支持该货币类型')

    print('*********************************************************')
    # 带单位的货币输入
    currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q): ')

print('程序已退出!')

4.0 (函数的定义与调用)

'''
    民币CNY 美元USD

    版本:
    1.0 功能:输入数字的人民币,进行美元汇率换算
    2.0 功能:输入带符号的数字,自动判断美元还是人民币
    3.0 功能:程序一直运行,直到用户选择退出
    4.0 功能:将汇率兑换功能封装到函数中

    作者:飞
'''


def convert_currency(rmb_str_value,exchange_rate):# 形参
    '''
        汇率兑换函数
    '''
    out = rmb_str_value * exchange_rate
    return out

# 汇率
usd_vs_RMB = 6.77

# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额: ')

# 获取货币单位
unit = currency_str_value[-3:]

if unit == 'CNY':
    exchange_rate = 1/usd_vs_RMB
elif unit == 'USD':
    exchange_rate = usd_vs_RMB
else:
    # 其他情况
    exchange_rate = -1

if exchange_rate != -1:
    rmb_str_value = eval(currency_str_value[:-3])
    # 调用函数
    out_money = convert_currency(rmb_str_value, exchange_rate) #实参
    print('转换后的金额', out_money)
else:
    print('不支持该种货币!')

5.0 (匿名函数lambda)

'''
    民币CNY 美元USD
    功能:汇率换算
    版本:
    1.0 新增功能:输入数字的人民币,进行美元汇率换算
    2.0 新增功能:输入带符号的数字,自动判断美元还是人民币
    3.0 新增功能:程序一直运行,直到用户选择退出
    4.0 新增功能:将汇率兑换功能封装到函数中
    5.0 新增功能:1. 使程序结构化,def函数
                2. 简单函数的定义,lambda函数
    作者:FLY
'''


# def convert_currency(rmb_value,exchange_rate):# 形参
#     '''
#         汇率兑换函数
#     '''
#     out = rmb_value * exchange_rate
#     return out


def main():
    '''
        主函数
    '''
    # 汇率
    usd_vs_RMB = 6.77

    # 带单位的货币输入
    currency_str_value = input('请输入带单位的货币金额: ')

    # 获取货币单位
    unit = currency_str_value[-3:]

    if unit == 'CNY':
        exchange_rate = 1/usd_vs_RMB
    elif unit == 'USD':
        exchange_rate = usd_vs_RMB
    else:
        # 其他情况
        exchange_rate = -1

    if exchange_rate != -1:
        rmb_value = eval(currency_str_value[:-3])

        # 简单函数的定义,lambda函数
        convert_currency2 = lambda x:x*exchange_rate
        out_money = convert_currency2(rmb_value)

        # # 调用函数
        # out_money = convert_currency(rmb_value, exchange_rate) #实参

        print('转换后的金额', out_money)
    else:
        print('不支持该种货币!')


if __name__ == '__main__': # 永远成立,因为__name__ 就等于 '__main__'
    main()

分形树绘制

五角星绘制1.0 (turtle库)

"""
    作者:冯飞
    功能:五角星的绘制
    版本:1.0
    日期:5/14/2019
"""

import turtle #形状绘制函数

def main():

    # 计数器
    count = 1
    while(count<=5):

        turtle.forward(100)
        turtle.right(144)

        count = count +1

    # # 第一条边
    # turtle.forward(100)   # 画笔向前移动50距离
    #
    # # 第二条边
    # turtle.right(144)     # 向右旋转144度
    # turtle.forward(100)
    #
    # # 第三条边
    # turtle.right(144)  # 向右旋转144度
    # turtle.forward(100)
    #
    # # 第四条边
    # turtle.right(144)  # 向右旋转144度
    # turtle.forward(100)
    #
    # # 第五条边
    # turtle.right(144)  # 向右旋转144度
    # turtle.forward(100)

    turtle.exitonclick() # 点击关闭图形窗口

if __name__ == '__main__':
    main()

五角星绘制2.0 (复习函数与循环)

"""
    作者:冯飞
    功能:五角星的绘制
    2.0 新增功能:绘制不同大小的五角星
    日期:5/14/2019
"""

import turtle #形状绘制函数


def draw_pentagram(size):
    """
        绘制五角星
    """
    # 计数器
    count = 1
    while (count <= 5):
        turtle.forward(size)
        turtle.right(144)
        count += 1


def main():
    """
        主函数

    """
    turtle.penup()          # 笔抬起
    turtle.backward(200)
    turtle.pendown()        # 笔放下
    turtle.pensize(2)       # 笔尺寸
    turtle.pencolor('blue') # 笔颜色

    size = 50
    while size <=100:
        # 调用函数
        draw_pentagram(size)
        size += 20

    turtle.exitonclick() # 点击关闭图形窗口

if __name__ == '__main__':
    main()

五角星绘制3.0 (递归函数)

"""
    作者:冯飞
    功能:五角星的绘制
    2.0 新增功能:绘制不同大小的五角星
    3.0 新增功能:使用迭代函数绘制不同大小的五角星
    日期:5/14/2019
"""

import turtle #形状绘制函数


def draw_recursive_pentagram(size):
    """
        绘制五角星
    """
    # 计数器
    count = 1
    while (count <= 5):
        turtle.forward(size)
        turtle.right(144)
        count += 1
    # 五角星绘制完场,更新size参数
    size += 10
    if size<=100:
        draw_recursive_pentagram(size) # 递归函数,自己调用自己

def main():
    """
        主函数

    """
    turtle.penup()          # 笔抬起
    turtle.backward(200)
    turtle.pendown()        # 笔放下
    turtle.pensize(2)       # 笔尺寸
    turtle.pencolor('blue') # 笔颜色

    size = 50
    # 调用函数
    draw_recursive_pentagram(size)

    turtle.exitonclick()  # 点击关闭图形窗口

if __name__ == '__main__':
    main()

分形树绘制 (递归函数的应用)

"""
    作者:冯飞
    功能:利用递归函数绘制分形树
    版本:2.0
    思路:1. 绘制右侧树枝
         2. 返回树枝节点
         3. 绘制左侧树枝
         4. 返回树枝节点

    日期:5/14/2019
"""

import turtle  # 形状绘制函数


def draw_brach(branch_length):
    """
        绘制分形树
    """

    if branch_length > 5:
        # 绘制右侧树枝
        turtle.forward(branch_length)
        print('向前', branch_length)

        turtle.right(20)
        print('右转20')
        draw_brach(branch_length-15)

        # 绘制左侧树枝
        turtle.left(40)
        print('左转40')
        draw_brach(branch_length - 15)

        # 返回之前树枝
        turtle.right(20)
        print('右转20')
        turtle.backward(branch_length)
        print('返回', branch_length)


def main():
    """
        主函数

    """
    turtle.left(90)  # 左转90度,即垂直向上方向
    turtle.penup()
    turtle.backward(150)
    turtle.pendown()
    turtle.pencolor('green')

    draw_brach(25)   # 调用函数,给定length
    turtle.exitonclick()  # 点击关闭图形窗口


if __name__ == '__main__':
    main()

BMR(basid metabolic rate:基础代谢率)计算器

1.0 (数值类型及运算)

"""
    作者:FLY
    功能:BMR(basid metabolic rate:基础代谢率)计算器
    版本:1.0
    日期:5/15/2019
"""

def main():
    """
        主函数
    """
    # 性别
    gender = '男'

    # 体重
    weight = 120

    # 身高
    height = 163

    # 年龄
    age = 26

    if gender == '男':
        # 男性
        bmr = 13.7*weight+5.0*height-6.8*age+66

    elif gender == '女':
        # 女性
        bmr = 9.6*weight+1.8*height-4.7*age+655
    else:
        bmr = -1

    if bmr!=-1:
        print('基础代谢率(大卡)',bmr)
    else:
        print('暂不支持该性别!')

if __name__ == '__main__':
    main()

2.0 (复习分支语句、循环语句及input()函数)

"""
    作者:FLY
    功能:BMR(basid metabolic rate:基础代谢率)计算器
    2.0 :根据用户输入的信息,选择是否退出程序
    版本:2.0
    日期:5/15/2019
"""

def main():
    """
        主函数
    """
    y_n = input('用户是否选择退出y/n:')

    while (y_n == 'n'):
        # 性别
        gender = input('性别:')

        # 体重
        weight = float(input('体重(kg):'))
        print(type(weight))

        # 身高
        height = float(input('身高(cm):'))

        # 年龄
        age = int(input('年龄:'))

        if gender == '男':
            # 男性
            bmr = 13.7*weight+5.0*height-6.8*age+66

        elif gender == '女':
            # 女性
            bmr = 9.6*weight+1.8*height-4.7*age+655
        else:
            bmr = -1

        if bmr != -1:
            print('基础代谢率(大卡)',bmr)
        else:
            print('暂不支持该性别!')

        print()  # 空行
        y_n = input('用户是否选择退出y/n:')


if __name__ == '__main__':
    main()

3.0 (字符串操作)

"""
    作者:FLY
    功能:BMR(basid metabolic rate:基础代谢率)计算器
    2.0 :根据用户输入的信息,选择是否退出程序
    3.0 :用户可以在一行输入所有信息,带单位的数字输出
    版本:3.0
    日期:5/15/2019
"""


def main():
    """
        主函数
    """
    y_n = input('用户是否选择退出y/n:')

    while (y_n == 'n'):

        print('请输入以下信息,以空格隔开')
        input_str = input('性别 体重(kg) 身高(cm) 年龄:')
        str_list = input_str.split(' ')
        gender = str_list[0]
        weight = float(str_list[1])
        height = float(str_list[2])
        age = int(str_list[3])

        if gender == '男':
            # 男性
            bmr = 13.7*weight+5.0*height-6.8*age+66

        elif gender == '女':
            # 女性
            bmr = 9.6*weight+1.8*height-4.7*age+655
        else:
            bmr = -1

        if bmr != -1:
            print()
            print('您的性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender,weight,height,age))
            # print('基础代谢率',bmr,'大卡')
            print('基础代谢率:{}大卡'.format(bmr))
        else:
            print('暂不支持该性别!')

        print()  # 空行
        y_n = input('用户是否选择退出y/n:')


if __name__ == '__main__':
    main()

4.0 (异常处理)

"""
    作者:FLY
    功能:BMR(basid metabolic rate:基础代谢率)计算器
    2.0 :根据用户输入的信息,选择是否退出程序
    3.0 :用户可以在一行输入所有信息,带单位的数字输出
    4.0:处理异常操作
    版本:4.0
    日期:5/15/2019

    try:
        <body>
    except <ErrorType1>:
        <handle1>
    except <ErrorType2>:
        <handle2>
    except :
        <handle3>
    解释:
    当python遇到try语句,先尝试执行try包含的代码块
    如果没有遇到错误,执行try-except后面的语句
    如果遇到错误,python寻找一个符合该错误类型的异常语句,然后执行相应的处理代码

"""
def try_function(str_list):
    try:
        gender = str_list[0]
        weight = float(str_list[1])
        height = float(str_list[2])
        age = int(str_list[3])

        if gender == '男':
            # 男性
            bmr = 13.7 * weight + 5.0 * height - 6.8 * age + 66

        elif gender == '女':
            # 女性
            bmr = 9.6 * weight + 1.8 * height - 4.7 * age + 655

        else:

            bmr = -1

        if bmr != -1:
            print()
            print('您的性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender, weight, height, age))
            # print('基础代谢率',bmr,'大卡')
            print('基础代谢率:{}大卡'.format(bmr))
        else:
            print(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值