python学习笔记

em。。。要做毕设了哈,把每天刷小象学院的笔记写在这里,方便查查。

1.cmd输入ipython可以显示颜色标记
2.cmd输入idle出现操作面板
3.file→settings→editor→font进去修改字体和字的大小
4.settings→interpreter,可以重新进行解析器配置。(注:哇,python2.7和3.6有的就不同就需要从这里改,有一次改来改去搞死我了)
5.pycharm左下角的python console与ipython功能一致。
6.settings→keymaps用于设置快捷键;当为eclipse时:

Ctrl+D为删除某一行代码
Ctrl+Z为撤销
Ctrl+/为批量注释

7.#用于单行注释;多行注释用""" XXX “”"(三个引号)
8.变量名可以用大小写(敏感)字母、数字、下划线,不能以数字开头
9.python本身不可以使用的变量名的查询方式如下:

import keyword
print(keyword.kwlist)

10.正向索引、反向索引

11.区间索引
A-B
    s[0:3] ==s[:3]
12.else if 简写为elif
13.缩进是tab;反向缩进用shift+tab
14.小齿轮中有一个showmembers,选中可以把函数列出来
15.lambda函数的使用
在这里插入图片描述
16.形状绘制函数
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

案例学习
一、汇率兑换

#v1.0简单的输入人民币。输出对应美金
rmb_input_value = input('请输入人民币(CNY)金额:')

rmb_value = eval(rmb_input_value )   #eval的作用是将包含数字的一个字符串转换为数字,eg:2+3

usd_change_rmb = 6.77

usd_value = rmb_value / usd_change_rmb

print('美元(USD)金额是:',usd_value)
#v2.0识别货币单位
usd_change_rmb = 6.77

currency_input_value = input('请输入带单位CNY/USD的货币金额:')

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

if unit == 'CNY':
    rmb_str_value = currency_input_value[:-3] #记得进行缩进,tab键
    rmb_value = eval(rmb_str_value)
    usd_value = rmb_value / usd_change_rmb
    print('美元(USD)金额是:', usd_value)

elif unit == 'USD':
    usd_str_value = currency_input_value[:-3] #记得进行缩进,tab键
    usd_value = eval(usd_str_value)
    rmb_value = usd_value * usd_change_rmb
    print('人民币(CNY)金额是:', rmb_value)

else:
    print('目前不支持此种货币')
#v3.0_用户可以反复执行程序
usd_change_rmb = 6.77

currency_input_value = input('请输入带单位CNY/USD的货币金额(退出程序请输入Q):')

i = 0

while currency_input_value != 'Q':
    i = i + 1
    #print('循环次数',i)
    unit = currency_input_value[-3:] #获取货币单位

    if unit == 'CNY':
        rmb_str_value = currency_input_value[:-3] #记得进行缩进,tab键
        rmb_value = eval(rmb_str_value)
        usd_value = rmb_value / usd_change_rmb
        print('美元(USD)金额是:', usd_value)

    elif unit == 'USD':
        usd_str_value = currency_input_value[:-3] #记得进行缩进,tab键
        usd_value = eval(usd_str_value)
        rmb_value = usd_value * usd_change_rmb
        print('人民币(CNY)金额是:', rmb_value)

    else:
        print('目前不支持此种货币')

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


print('程序已退出')
#v4.0_将功能进行函数封装

def convert_currency(im,er): #汇率兑换函数
    out = im * er
    return out

usd_change_rmb = 6.77

currency_input_value = input('请输入带单位CNY/USD的货币金额:')

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

if unit == 'CNY':
    exchange_rate = 1 / usd_change_rmb

elif unit == 'USD':
    exchange_rate = usd_change_rmb

else:
    exchange_rate = -1

if exchange_rate !=-1:
    in_money = eval(currency_input_value[:-3])
    #调用函数
    out_money = convert_currency(in_money,exchange_rate)
    print('转换后的金额',out_money)

else:
    print('不支持此货币')
#v5.0_将功能进行函数封装

# def convert_currency(im,er): #汇率兑换函数
#     out = im * er
#     return out

def main():
    usd_change_rmb = 6.77

    currency_input_value = input('请输入带单位CNY/USD的货币金额:')

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

    if unit == 'CNY':
        exchange_rate = 1 / usd_change_rmb

    elif unit == 'USD':
        exchange_rate = usd_change_rmb

    else:
        exchange_rate = -1

    if exchange_rate !=-1:
        in_money = eval(currency_input_value[:-3])
        #使用lambda定义函数
        convert_currency2 = lambda x: x * exchange_rate
        out_money = convert_currency2(in_money)
        # #调用函数
        # out_money = convert_currency(in_money,exchange_rate)
        print('转换后的金额',out_money)

    else:
        print('不支持此货币')

if __name__ == '__main__':
    main()

二、图形绘制

#v1.0_绘制五角星
import turtle

def main():
    count = 1
    while count <= 5:
        turtle.forward(100)
        turtle.right(144)
        count = count +1

    turtle.exitonclick() #停止窗口

if __name__ == '__main__':
    main()
#v2.0_循环重复五角星
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('red')

    size = 50
    while size <= 100:
        draw_pentagram(size)
        #size = size + 10
        size += 10
    turtle.exitonclick() #停止窗口


if __name__ == '__main__':
    main()
#v3.0_使用迭代函数绘制图形

import turtle

def draw_recursive_pentagram(size):  #迭代/递归(自身调用自身)绘制五角星
    count = 1
    while count <= 5:
        turtle.forward(size)
        turtle.right(144)
        count += 1
    size += 10
    if size <= 100:
        draw_recursive_pentagram(size)

def main():

    turtle.penup()
    turtle.backward(200)
    turtle.pendown()
    turtle.pensize(2)
    turtle.pencolor('red')

    size = 50
    draw_recursive_pentagram(size)
    turtle.exitonclick()

if __name__ == '__main__':
    main()
#v1.0_利用递归函数绘制分形树

import turtle

def draw_branch(branch_length):
    #绘制右侧树枝
    if branch_length > 5:
        turtle.forward(branch_length)
        #print('向前',branch_length)
        turtle.right(20)
        #print('向右转20')
        draw_branch(branch_length - 15)

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

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

def main():
    turtle.left(90)
    turtle.penup()
    turtle.backward(150) #调整落笔中心点的位置
    turtle.pendown()
    turtle.color('brown')
    draw_branch(80)
    turtle.exitonclick()


if __name__ == '__main__':
    main()

三、BMR(基础代谢率)计算

#v1.0_BMR计算器

def main():
    gender = '男'
    weight = 70
    height = 175
    age = 25

    if gender == '男':
        bmr = 13.7*weight + 5.0*height- 6.8*age + 66    #男性bmr值
    elif gender == '女':
        bmr = 9.6 * weight + 1.8 * height - 4.7 * age + 655  # 女性bmr值
    else:
        bmr = -1
    if bmr != -1:
        print('基础代谢率(大卡):',bmr)
    else:
        print('暂不支持')

if __name__ == '__main__':
    main()
#v2.0_类型转换的使用

def main():

    y_or_n = input('是否退出程序(y/n)?')

    while y_or_n == 'n':
        gender = input('性别:')       #input输入的都是string类型
        weight = float(input('体重(kg):'))
        height = float(input('身高(cm):'))
        age = int(input('年龄:'))

        if gender == '男':
            bmr = 13.7*weight + 5.0*height- 6.8*age + 66    #男性bmr值
        elif gender == '女':
            bmr = 9.6 * weight + 1.8 * height - 4.7 * age + 655  # 女性bmr值
        else:
            bmr = -1
        if bmr != -1:
            print('基础代谢率(大卡):',bmr)
        else:
            print('暂不支持')

        print() #参数为空输出空行
        y_or_n = input('是否退出程序(y/n)?')

if __name__ == '__main__':
    main()
#v3.0_使得用户可以在一行之内输入所有信息后输出,带单位输出

def main():

    y_or_n = input('是否退出程序(y/n)?')

    while y_or_n == 'n':
        # gender = input('性别:')       #input输入的都是string类型
        # weight = float(input('体重(kg):'))
        # height = float(input('身高(cm):'))
        # age = int(input('年龄:'))

        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    #男性bmr值
        elif gender == '女':
            bmr = 9.6 * weight + 1.8 * height - 4.7 * age + 655  # 女性bmr值
        else:
            bmr = -1
        if bmr != -1:
            print('性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender,weight,height,age))
            print('基础代谢率:{}大卡'.format(bmr))
        else:
            print('暂不支持')

        print() #参数为空输出空行
        y_or_n = input('是否退出程序(y/n)?')

if __name__ == '__main__':
    main()
#v4.0_错误异常提示

def main():

    y_or_n = input('是否退出程序(y/n)?')

    while y_or_n == 'n':
        # gender = input('性别:')       #input输入的都是string类型
        # weight = float(input('体重(kg):'))
        # height = float(input('身高(cm):'))
        # age = int(input('年龄:'))

        print('请输入以下信息,用空格分割')
        input_str = input('性别 体重(kg) 身高(cm) 年龄:')
        str_list = input_str.split(' ')

        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  # 男性bmr值
            elif gender == '女':
                bmr = 9.6 * weight + 1.8 * height - 4.7 * age + 655  # 女性bmr值
            else:
                bmr = -1
            if bmr != -1:
                print('性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender, weight, height, age))
                print('基础代谢率:{}大卡'.format(bmr))
            else:
                print('暂不支持')
        except ValueError:
            print('请输入正确的信息!')
        except IndexError:
            print('输入的信息过少!')
        except:
            print('程序异常!')

        print() #参数为空输出空行
        y_or_n = input('是否退出程序(y/n)?')

if __name__ == '__main__':
    main()

五、图形绘制

#v1.0_单纯存钱计算

def main():

    money_per_week = 10  #每周存入金额
    i = 1  #记录周数
    increase_money = 10  #递增金额
    total_week = 52  #总共周数
    saving = 0  #账户累计

    while i <= total_week:
        #saving = saving + money_per_week
        saving += money_per_week

        print('第{}周,存入{}元,账户累计{}元'.format(i,money_per_week,saving))

        money_per_week += increase_money
        i += 1

if __name__== '__main__':
    main()
#v2.0_记录每周存钱数
import math

def main():

    money_per_week = 10  #每周存入金额
    i = 1  #记录周数
    increase_money = 10  #递增金额
    total_week = 52  #总共周数
    saving = 0  #账户累计

    money_list = []

    while i <= total_week:
        #saving = saving + money_per_week
        #saving += money_per_week
        money_list.append(money_per_week)
        saving = math.fsum(money_list)

        print('第{}周,存入{}元,账户累计{}元'.format(i,money_per_week,saving))

        money_per_week += increase_money
        i += 1

if __name__== '__main__':
    main()
#v3.0_使用循环直接计数
import math

def main():

    money_per_week = 10  #每周存入金额
    increase_money = 10  #递增金额
    total_week = 52  #总共周数
    saving = 0  #账户累计

    money_list = []

    for i in range(total_week):
        money_list.append(money_per_week)
        saving = math.fsum(money_list)

        print('第{}周,存入{}元,账户累计{}元'.format(i+1,money_per_week,saving))

        money_per_week += increase_money
        i += 1

if __name__== '__main__':
    main()

(日常不定期更新,欢迎大神带我飞,越帅越好。还有如果中间有什么错误,欢迎留言指正,我会及时改正,万分感谢)

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值