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.区间索引
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()
(日常不定期更新,欢迎大神带我飞,越帅越好。还有如果中间有什么错误,欢迎留言指正,我会及时改正,万分感谢)