python练习实例(四)

1、将摄氏温度和华式温度进行转换

分析:通过根据输入的温度类型,进行相应的转换
转换公式:摄氏温度*1.8+32 = 华式温度

#摄氏温度和华式温度之间的转化
TempStr = input("请输入带符号的温度值:")
if TempStr[-1] in ['f','F']:
	#eval()评估函数:去掉参数外侧的引号,并执行剩下语句
	#eval("1+2")  参数是一个字符串,去掉引号,变成1+2,最后结果为3
    C = (eval(TempStr[0:-1]) - 32) / 1.8
    print("转换后的温度为{:.2f}C".format(C))
elif TempStr[-1] in ['c','C']:
    F = eval(TempStr[0:-1]) * 1.8 + 32
    print("转换后的温度为{:.2f}F".format(F))
else:
    print("输入错误温度!")

2、货币转换

问题描述:人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

人民币和美元间汇率固定为:1美元 = 6.78人民币。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。

x = input()
if x[0:3] in ['RMB']:
    y = eval(x[3:]) / 6.78
    print("USD{:.2f}".format(y))
elif x[0:3] in ['USD']:
    y = eval(x[3:]) * 6.78
    print("RMB{:.2f}".format(y))

3、好好学习,天天向上

问题:一年中,如果工作日每天提升1%,休息日每天下降1%,一年之后,提升的能力是原能力的几倍。

dayup = 1
dayfactor = 0.01
for i in range(365):
    if i % 7 in [6,0]:
        dayup = dayup*(1-dayfactor)
    else :
        dayup = dayup*(1+dayfactor)
print("{:.4f}".format(dayup))

4、工作日的努力

问题:
—A每天提升1%
—B一周工作5天,周末下降1%
问:B在工作日每天提升多少,一年后能和A提升的一样?

def dayup(df):
    day = 1
    for i in range(365):
        if i % 7 in [6,0]:
            day = day * (1-0.01)
        else:
            day = day * (1+df)
    return day

df = 0.01
while dayup(df) < pow(1.01,365):
    df += 0.001
print("{:.4f}".format(df))

5、文本进度条

import time
scale = 10
print("------执行开始--------")
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale-i)
    c = (i / scale) * 100
    print("{:^3.0f}%[{}->{}]".format(c,a,b))
    time.sleep(1)
print("------执行结束-------")

6、单行动态刷新文本进度条

实现单行动态刷新:在每次输出结束,光标退回到原始位置,使用\r解决

import time
scale = 10
print("------执行开始--------")
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale-i)
    c = (i / scale) * 100
    #\r 光标退回道行首
    print("\r{:^3.0f}%[{}->{}]".format(c,a,b),end='')
    time.sleep(1)
print("------执行结束-------")

7、终极文本进度条

import time
scale = 50
print("执行开始".center(scale//2,'-'))
start = time.perf_counter() #开始时间
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i / scale) * 100
    end = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}] {:.2f}s".format(c,a,b,end),end='')
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))

猜你喜欢

转载自blog.csdn.net/weixin_45573296/article/details/124010387