python学习笔记:数字形式+货币转换+条件输出+数值运算
1. 数字形式转换
描述:获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
template = "零一二三四五六七八九"
s = input()
for c in s:
print(template[eval(c)], end="")
9451
九四五一
digit = {'0':'零','1':'一','2':'二','3':'三','4':'四','5':'五','6':'六','7':'七','8':'八','9':'九'}
f = input()
listf = list(f)
shu = []
for i in listf:
shu.append(digit[i])
jieguo = ''.join(shu)
print(jieguo)
96145
九六一四五
2. 货币转换 I
人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:
人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。
注意: (1) 这是一个OJ题目,获得输入请使用input() ;
(2) 不提示输出格式错误,结果小数点后保留两位。
输入:示例1:RMB123; 示例2:USD20
输出:示例1:USD18.14;示例2:RMB135.60
Str=input()
if Str[0:3] in 'RMB':
U=eval(Str[3:100000000])/6.78
print('USD{:.2f}'.format(U))
elif Str[0:3] in 'USD':
R=eval(Str[3:100000000])*6.78
print('RMB{:.2f}'.format(R))
USD500
RMB3390.00
3. Hello World的条件输出
获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:
如果输入值是0,直接输出"Hello World"
如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符)
如果输入值小于0,以垂直方式输出"Hello World"
n = eval(input())
if n == 0:
print("Hello World")
elif n > 0:
print("He\nll\no \nWo\nrl\nd")
else:
for i in "Hello World":
print(i)
-5
H
e
l
l
o
W
o
r
l
d
4. 数值运算
得用户输入的一个字符串,格式如下:
M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, / (加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
string = input()
op_num = 0
op = ['+','-','*','/']
for i,s in enumerate(string):
if s in op and i!=0:
op_num = i
if string[0] =='-':
num1 = -float((string[1:i]).strip())
elif string[0:2]== '0x':
num1 = int(eval((string[:i]).strip()))
else:
num1 = float((string[0:i]).strip())
num2 = float((string[i+1:]).strip())
if s == op[0]:
print('{:.2f}'.format(num1 + num2))
elif s == op[1]:
print('{:.2f}'.format(num1 - num2))
elif s == op[2]:
print('{:.2f}'.format(num1 * num2))
else:
print('{:.2f}'.format(num1 / num2))
80/5
16.00