头歌实践平台python实验1:Python顺序结构程序设计

第一关 HUT开学了

任务描述

本关任务:编写程序,实现如下功能。 开学了,你考上了湖南工业大学,校园各个学院的电子屏上显示着以下欢迎界面:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

|++++++++++++++++++++++| | | | Welcome to HUT | | | |++++++++++++++++++++++| 入学报到的同学在报到系统输入自己的姓名,在电子屏上输出以上界面后,再在下一行输出“欢迎您,***同学!”

相关知识

为了完成本关任务,你需要掌握:1.输入函数input的用法,2.print函数的用法。

编程要求

根据提示,在右侧编辑器补充代码,完成程序的功能。

测试说明

平台会对你编写的代码进行测试:

测试输入:张三 预期输出: |++++++++++++++++++++++| | | | Welcome to HUT | | | |+++

+++++++++++++++++++| 欢迎您,张三同学!

# 请在此添加代码
Name = input()  # 输入学生的姓名    
########## Begin ##########
print("|++++++++++++++++++++++|")
print("|                      |")
print("|   Welcome to  HUT    |")
print("|                      |")
print("|++++++++++++++++++++++|")
print("欢迎您,{}同学!".format(Name))

########## End ##########

第二关 球的表面积和体积

任务描述

本关任务:编写程序,输入球体的半径,计算球体的表面积和体积,结果保留2位小数。 输入输出范例: 请输入球的半径:3.5 球体表面积为:153.94,体积为:179.59

相关知识

为了完成本关任务,你需要掌握:1.如何通过math库获取π的值,2.顺序结构程序的编写方法。

编程要求

根据提示,在右侧编辑器补充代码,计算并输出球体的表面积和体积。

测试说明

平台会对你编写的代码进行测试:

测试输入:请输入球的半径:3.5 预期输出: 球体表面积为:153.94,体积为:179.59

测试输入:请输入球的半径:7.7 预期输出: 球体表面积为:745.06,体积为:1912.32

# 请在此添加代码
########## Begin ##########
#以下建议导入python标准库math,并使用math.pi代替圆周率π
import math
r= eval(input("请输入球的半径:"))
s=4*math.pi*r*r
v=4/3*math.pi*r*r*r
print(f"球体表面积为:{s:.2f},体积为:{v:.2f}")


########## End ##########

第三关  输出实数的整数和小数部分

任务描述

本关任务:编写程序实现输入一个正的实数x,分别输出x的整数部分和小数部分。 要求:从键盘输入一个正的实数x,然后按x=整数部分+小数部分的格式输出。 例如: 若输入为: 输入一个正的实数:5.12 则输出: 5.120000=5+0.120000

相关知识

为了完成本关任务,你需要掌握:1.如何获取数据的整数部分,2.如何输出不同类型的数据。

编程要求

根据提示,在右侧编辑器补充代码,计算并分别输出实数的整数和小数部分。

提示:
  1. 获取整数部分可以使用int函数
  2. 输出格式为:print("{0:f}={1:d}+{2:f}\n".format(x,保存整数部分的变量,保存小数部分的变量))
测试说明

平台会对你编写的代码进行测试:

测试输入:输入一个正的实数:5.12 预期输出: 5.120000=5+0.120000

测试输入:输入一个正的实数:9.56 预期输出: 9.560000=9+0.560000

# 请在此添加代码
########## Begin ##########
x=float(input("输入一个正的实数:"))
a=int(x)
print(f"{x:f}={a}+{x-a:f}")


########## End ##########

第四关 计算存款复利

任务描述

本关任务:编写程序,输入存款本金、年利率和年数,计算复利(结果保留两位小数)。 输入输出范例如下: 请输入本金:2000 请输入年利率:5.6 请输入年份:5 本金利率和为:2626.33

相关知识

为了完成本关任务,你需要掌握:1.浮点数的输入方法,2.复利的计算方法。

编程要求

根据提示,在右侧编辑器补充代码,计算并输出复利。

提示

提示:输出语句可以用“print("本金利率和为:{0:2.2f}".format(****))”的形式,其中***代表存储本金利率和的变量

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入本金:2000 请输入年利率:5.6 请输入年份:5 预期输出: 本金利率和为:2626.33

# 请在此添加代码
########## Begin ##########
a=eval(input("请输入本金:"))
b=eval(input("请输入年利率:"))
c=eval(input("请输入年份:"))
d=a*pow((1+b/100),c)
print("本金利率和为:{0:2.2f}".format(d))



########## End ##########

第五关 求2个数的和

任务描述

本关要求学习者理解顺序结构,并对输入的三个数abc先交换ab值,然后再计算a + c的值。

相关知识

要实现上述功能,需要严格按照顺序来实现每一个步骤。如果顺序错误,那么便会得出错误的结果。

顺序结构

假设存在abc三个整数,如果按照以下顺序执行:

 
  1. c = a + b
  2. b = c - a
  3. a = b + c

与按照以下顺序:

 
  1. b = c - a
  2. a = b + c
  3. c = a + b

得出的abc的结果是不同的。

交换数值

假设存在整数a = 10b = 20,交换ab数值的语句如下:

 
  1. tmp = a
  2. a = b
  3. b = tmp
编程要求

本关的编程任务是补全step2.py文件中的函数部分,程序中给出abc三个整数,要求实现先交换ab的值,然后计算a + c的值并输出。

本关涉及的代码文件step2.py的代码框架如下:

 
  1. a = int(input())
  2. b = int(input())
  3. c = int(input())
  4. # 请在此添加代码,交换a、b的值,然后计算a、c的和result的值
  5. ########## Begin ##########
  6. ########## End ##########
  7. print(result)
测试说明

本关的测试文件是src/step2/step2.py,测试过程如下:

  1. 学习者将src/step1/step2.py中的代码补充完毕,然后点击评测。平台自动编译运行 step2.py,并以标准输入方式提供测评输入;

  2. 平台获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/step1/step2.py的样例测试集:

测试输入:

 
  1. 2
  2. 5
  3. 10

预期输出:

 
  1. 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)

 第六关 出生日期与年龄

任务描述

本关任务:编写一个程序,输入自己的出生年、月、日,按下列格式输出自己的出生日期信息,今年是2022年,计算并输出自己的年龄。 输入示例:1992,12,5↙ 输出示例: 我的出生日期是1992年12月05日 我今年30岁了

相关知识

为了完成本关任务,你需要掌握:1.如何输入数据,2.如何格式化输出语句。

编程要求

根据提示,在右侧编辑器补充代码,按格式要求输出自己的出生日期,计算并输出自己的年龄,年龄只要求精确到年,以整数形式输出。

测试说明

平台会对你编写的代码进行测试:

测试输入:1992,12,5 预期输出: 我的出生日期是1992年12月05日 我今年30岁了

# 请在此添加代码
########## Begin ##########
a = input()

if a[6]==',' and len(a) ==8:
    print("我的出生日期是{}年0{}月0{}日".format(a[0:4],a[5],a[7]))
elif a[7]==',' and len(a) == 9:
    print("我的出生日期是{}年{}月0{}日".format(a[0:4],a[5:7],a[8]))
elif a[6] == ',' and len(a) == 9:
    print("我的出生日期是{}年0{}月{}日".format(a[0:4],a[5],a[7:]))
else:
    print("我的出生日期是{}年{}月{}日".format(a[0:4],a[5:7],a[8:]))
b = 2022-eval(a[0:4])
print("我今年{}岁了".format(b))


########## End ##########

第七关 逆序数

任务描述

本关任务:从键盘输入一个三位整数n,输出其逆序数m。例如,输入n=127,则m=721。 ####分析: 程序分为以下三步。

  1. 输入一个3位整数n
  2. 求逆序数m
  3. 输出m
相关知识

为了完成本关任务,你需要掌握:1.如何获取每一个数位上的数字,2.算术运算符的综合运用。

编程要求

根据提示,在右侧编辑器补充代码,计算并输出逆序数。 输出语句格式为:print("{0:3}的逆序数是{1:3}".format(n,m))

测试说明

平台会对你编写的代码进行测试:

测试输入:n=127 预期输出:127的逆序数是721

# 请在此添加代码
########## Begin ##########
n=(input("n="))
m=n[-1]+n[-2]+n[-3]
print("{0:3}的逆序数是{1:3}".format(n,m))



########## End ##########

 

 

 

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值