输入人民币金额——处理:汇率计算——输出:相应的美元金额
.idea:工程的一些相关配置
#汇率
USD_VS_RMB= 6.77
#字符串
rmb_str_value = input(‘请输入人民币金额(CNY):’)
#将包含数字的文本转换为数字
rmb_value = eval(rmb_str_value)
#计算美元金额
usd_value = rmb_value / usd_vs_rmb
print(‘美元金额(USD)是:’,usd_value)
eval()函数的使用:将包含数字的字符串转换为数字
单行注释#
多行注释以三引号开始结束(多用于整个程序的介绍)
删除一行代码快捷键ctrl+D(前提是file-steeings-keymap设定为Eclipse)
常量常用大写
变量命名:大小写字母,数字,下划线
不能以数字开头
大小写敏感
不能和保留字相同
:分支语句if else
If(条件):(语句) (冒号别忘了)
elif(条件):(语句)
…
else(语句)
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':
# 输入的是美元
usd_str_value = currency_str_value[:-3]
# 将字符串转换为数字
usd_value = eval(usd_str_value)
rmb_value = usd_value * USD_VS_RMB
print('人民币金额(CNY)是:', rmb_value)
else:
#其他情况
print('该程序目前版本尚不支持该种货币!')
While(<条件>):(冒号别忘了)
<语句块1>
<语句块2>
当条件为真(true)执行语句块1;为假(false)退出循环
添加功能:能否让程序一直执行,直到用户选择退出?
USD_VS_RMB = 6.77
#带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')
while currency_str_value != 'Q':
#获取货币单位
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':
# 输入的是美元
usd_str_value = curQrency_str_value[:-3]
# 将字符串转换为数字
usd_value = eval(usd_str_value)
rmb_value = usd_value * USD_VS_RMB
print('人民币金额(CNY)是:', rmb_value)
else:
# 其他情况
print('目前版本尚不支持该种货币!')
print('程序已退出!')
v4.0:将汇率功能封装到函数中
函数:def<函数名><参数列表>:(冒号别忘了)
<函数体>
return<返回值列表>
def convert_currency(im,er):
"""
汇率兑换函数
"""
out = im * er
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:
exchangge_rate = -1
if exchange_rate != -1:
in_money = eval(currency_str_value[:-3])
#调用函数
out_money = convert_currency(in_money, exchange_rate)
print('转换后的金额:',out_money)
else:
print('不支持该种货币!')
Lambda函数
特殊函数——匿名函数
使用方法:
<函数名> = lambda<参数列表>:<表达式>
用于简单的,能够在一行内表示的函数,计算结果为返回值
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:
in_money = eval(currency_str_value[:-3])
#使用lambda定义函数
convert_currency2 = lambda x: x * exchange_rate
#调用lambda函数
out_money = convert_currency2(in_money)
print('转换后的金额:',out_money)
else:
print('不支持该种货币!')
if __name__ == '__main__':
# 特殊变量名左右双下划线(一种python的内置属性)
main()
if name== ‘main’:的运行原理
每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 name,当该模块被直接执行的时候,name 等于文件名(包含后缀 .py );如果该模块 import 到其他模块中,则该模块的 name 等于模块名称(不包含后缀.py)。
而 “main” 始终指当前执行模块的名称(包含后缀.py)。进而当模块被直接执行时,name == ‘main’ 结果为真。
为了进一步说明,我们在 test.py 脚本的 if name"main": 之前加入 print(name),即将 name 打印出来。文件内容和结果如下:
可以看出,此时变量__name__的值为"main"。
再执行 import_test.py,执行结果如下:
此时,test.py中的__name__变量值为 test,不满足 name"main" 的条件,因此,无法执行其后的代码。