第1关:货币转换
任务描述
本关任务: 接收用户输入的当前美元对人民币的汇率,以及带有货币符号$
($
表示美元,¥
表示人民币)的货币值,转换并显示为另一种货币人民币,显示的人民币以¥
开头,结果保留两位小数。
任务说明
案例分析 1.通过input()
函数接收用户输入的汇率值,将其转换为数值型后保存在变量hl
中。 2.通过input()
函数接收用户输入的美元值,将其保存在变量hb
中,数据类型是字符串。 3.截取hb
的第二个字符到最后的字符,转换为数值后,将其乘以汇率hl
,赋值给变量rmb
,将其输出。
#货币换算程序
hl= eval(input("请输入汇率"))
hb = input("请输入带有符号$的货币")
#####代码开始#####
sums=eval(hb[1:])*hl
print("人民币¥{:.2f}".format(sums))
####代码结束####
第2关:黄金价值计算
任务描述
编写程序,输入黄金价格(美元/盎司),美元兑人民币的汇率,黄金的数量(以克为单位),计算并输出黄金的人民币价值。(1盎司(oz) =31.1034768 克)。
测试说明
平台会对你编写的代码进行测试: 输入 黄金价格1727.48 美元汇率6.654 黄金数量10 输出 黄金价值3695.616
jg=eval(input("黄金价格"))
hl=eval(input("美元汇率"))
zl=eval(input("黄金重量"))
#代码开始
jz= jg / 31.1034768 * zl * hl
#代码结束
print("黄金价值{:.2f}".format(jz))
第3关:计算存款复利
任务描述
本关任务:编写程序,输入存款本金、年利率和年数,计算复利(结果保留两位小数)。 输入输出范例如下: 请输入本金:2000
请输入年利率:5.6
请输入年份:5
本金利率和为:2626.33
相关知识
为了完成本关任务,你需要掌握:1.浮点数的输入方法,2.复利的计算方法。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出复利。
提示
提示:输出语句可以用“print("本金利率和为:{0:2.2f}".format(****))
”的形式,其中***
代表存储本金利率和的变量
测试说明
平台会对你编写的代码进行测试:
测试输入: 请输入本金:2000
请输入年利率:5.6
请输入年份:5
预期输出: 本金利率和为:2626.33
principal = float(input("请输入本金:"))
interest_rate = float(input("请输入年利率:"))
years = int(input("请输入年份:"))
compound_interest = principal * (1 + interest_rate / 100) ** years
print("本金利率和为:{0:.2f}".format(compound_interest))
第4关:求2个数的和
任务描述
本关要求学习者理解顺序结构,并对输入的三个数a
、b
、c
先交换a
、b
值,然后再计算a + c
的值。
相关知识
要实现上述功能,需要严格按照顺序来实现每一个步骤。如果顺序错误,那么便会得出错误的结果。
顺序结构
假设存在a
、b
、c
三个整数,如果按照以下顺序执行:
c = a + bb = c - aa = b + c
与按照以下顺序:
b = c - a a = b + c c = a + b
得出的a
、b
、c
的结果是不同的。
交换数值
假设存在整数a = 10
、b = 20
,交换a
、b
数值的语句如下:
tmp = a a = b b = tmp
编程要求
本关的编程任务是补全step2.py
文件中的函数部分,程序中给出a
、b
、c
三个整数,要求实现先交换a
、b
的值,然后计算a + c
的值并输出。
本关涉及的代码文件step2.py
的代码框架如下:
a = int(input())b = int(input())c = int(input())# 请在此添加代码,交换a、b的值,然后计算a、c的和result的值########## Begin #################### End ##########print(result)
测试说明
本关的测试文件是src/step2/step2.py
,测试过程如下:
- 学习者将
src/step1/step2.py
中的代码补充完毕,然后点击评测。平台自动编译运行step2.py
,并以标准输入方式提供测评输入; - 平台获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step1/step2.py
的样例测试集:
测试输入:
2510
预期输出:
15
a = int(input())
b = int(input())
c = int(input())
# 请在此添加代码,交换a、b的值,然后计算a、c的和result的值
########## Begin ##########
tmp = a
a = b
b = tmp
result = a + c
########## End ##########
print(result)
第5关:出生日期与年龄
任务描述
本关任务:编写一个程序,输入自己的出生年、月、日,按下列格式输出自己的出生日期信息,今年是2022年,计算并输出自己的年龄。 输入示例:1992,12,5↙
输出示例: 我的出生日期是1992年12月05日 我今年30岁了
相关知识
为了完成本关任务,你需要掌握:1.如何输入数据,2.如何格式化输出语句。
编程要求
根据提示,在右侧编辑器补充代码,按格式要求输出自己的出生日期,计算并输出自己的年龄,年龄只要求精确到年,以整数形式输出。
测试说明
平台会对你编写的代码进行测试:
测试输入:1992,12,5
预期输出: 我的出生日期是1992年12月05日
我今年30岁了
# 请在此添加代码
########## Begin ##########
birth_year, birth_month, birth_day = input().split(",")
birth_year = int(birth_year)
birth_month = int(birth_month)
birth_day = int(birth_day)
age = 2022 - birth_year
print("我的出生日期是{}年{:02d}月{:02d}日".format(birth_year, birth_month, birth_day))
print("我今年{}岁了".format(age))
########## End ##########
第6关:逆序数
任务描述
本关任务:从键盘输入一个三位整数n
,输出其逆序数m
。例如,输入n=127
,则m=721
。 ####分析: 程序分为以下三步。
- 输入一个
3
位整数n
。 - 求逆序数
m
。 - 输出
m
。
相关知识
为了完成本关任务,你需要掌握:1.如何获取每一个数位上的数字,2.算术运算符的综合运用。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出逆序数。 输出语句格式为:print("{0:3}的逆序数是{1:3}".format(n,m))
测试说明
平台会对你编写的代码进行测试:
测试输入:n=127
预期输出:127的逆序数是721
n = int(input("n="))
# 求逆序数m
m = (n % 10) * 100 + ((n // 10) % 10) * 10 + n // 100
# 输出结果
print("{0:3}的逆序数是{1:3}".format(n, m))