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
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 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])
convert_currency2 = lambda x:x*exchange_rate
out_money = convert_currency2(rmb_value)
print('转换后的金额', out_money)
else:
print('不支持该种货币!')
if __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.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 += 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)
turtle.penup()
turtle.backward(150)
turtle.pendown()
turtle.pencolor('green')
draw_brach(25)
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('基础代谢率:{}大卡'.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('基础代谢率:{}大卡'.format(bmr))
else:
print(