1.1四则运算(project)
第一关:
任务要求:
根据提示,在右侧编辑器补充代码,完成在两行中输入两个非零整数的四则运算。
测试输入:
1
2
输出:
1 + 2 = 3
1 - 2 = -1
1 * 2 = 2
1 / 2 = 0.5
相关知识:
a = int(input()) 为强制输入整型
注意字符串输出为f'' 其它没什么注意的
代码:
"""
试编程实现分两行输入两个非零整数,并在4 行中按顺序输出两个数的加、减、乘、除的计算结果。
要求输出与如下示例格式相同,符号前后各有一个空格。
"""
#输入整数变量a和b,定义输入函数
##############Begin##################
a = int(input());
b = int(input());
##############End####################
#a和b之间进行四则运算并输出
##############Begin##################
print(f'{a} + {b} = {a + b}')
print(f'{a} - {b} = {a - b}')
print(f'{a} * {b} = {a * b}')
print(f'{a} / {b} = {a / b}')
##############End####################
第二关:
任务要求:
掌握输入浮点数并进行数值运算的能力,掌握控制浮点数输出小数位数的方法
测试输入:
2.66
3.1415926
输出:
2.66 + 3.1415926 = 5.802
2.66 - 3.1415926 = -0.482
2.66 * 3.1415926 = 8.357
2.66 / 3.1415926 = 0.847
相关知识:
1. float()函数
a = float(input())
# 输入一个浮点数字符串,将其转为浮点数,例如将'3.14'转为3.142.str.format()方法
print('{:.2f}'.format(3.1415926)) # 精确保留小数点后两位,结果实质上是字符串类型
print('{:.3f}'.format(3.1000000)) # 精确保留小数点后三位,保留位数不足补0区别于用round(num,digits)函数保留小数位数,round()函数返回的是浮点数,而不是字符串,且会舍弃末尾的0
print(round(3.1415926, 2)) # 3.14
print(round(3.1000000, 3)) # 3.1,舍弃末尾的0,保留浮点数最短表示
代码:
'''
试编程实现分两行输入两个非零浮点数,并在4 行中按顺序输出两个数的加、减、乘、除的计算式和计算结果。计算结果str.format()方法保留小数点后3位数字。要求输出与如下示例格式相同,符号前后各有一个空格。
'''
#输入浮点型变量a和b,定义输入函数
#############Begin##############
a = float(input())
b = float(input())
#############End################
#a和b之间进行四则运算并输出
#############Begin################
print(f'{a} + {b} = {a + b:.3f}')
print(f'{a} - {b} = {a - b:.3f}')
print(f'{a} * {b} = {a * b:.3f}')
print(f'{a} / {b} = {a / b:.3f}')
#############End################
第三关:
任务要求:
掌握eval()函数的用法
测试输入:
请输入一个整数:10
请再输入一个整数:6
请输入运算符号*
输出:
10*6=60
相关知识:
eval()函数
eval()函数 用于将一个字符串表达式转为Python中的对象或返回可计算表达式的值
其中,print(f'{a}{sign}{b}={eval(f"{a} {sign} {b}")}') 注意eval要用{}括起来,eval()里面要用f表示字符串。其它没什么好注意的了。
代码:
# 以下三行代码不要修改
a = int(input('请输入一个整数:'))
b = int(input('请再输入一个整数:'))
sign = input('请输入运算符号')
# 补充你的代码
# eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
# 字符串里包含引号时,内部引号与边界应用不同的引号
print(f'{a}{sign}{b}={eval(f"{a} {sign} {b}")}')
第四关:
任务要求:
了解随机整数和随机获取一个序列元素的方法
了解分支语句的用法
了解函数的调用方法
测试输入:
1
4
7
输出:
请输入出题数量:请输入参与计算的最大数字:4+3=恭喜你,回答正确
答对1题,正确率为100.0%
相关知识:
在做这道题时注意什么时候换行;换行符为end = '\n'
代码:
import random
random.seed(0) # 随机数种子,用于评测,请不要修改
# 在注释语句后面补充合适的代码,使程序能完成预期的功能
def calculator(n, maximum):
"""随机产生n道正整数四则运算的题目,用户输入计算结果,
判断输入正确与否,并统计正确率。题目保证减法不出现负数."""
correct = 0
for i in range(n): # 循环n次,每次产生一个新问题
b = random.randint(0, maximum) # 随机产生一个maximum以内整数
a = random.randint(b, maximum) # 随机产生一个b到maximum以内整数,避免减法出现负数
sign = random.choice('+-*/') # 随机获取一个运算符号
# 先输出一个格式化的计算表达式并保持光标不换到下一行,类似5+10=
print(f'{a}{sign}{b}=',end='')
# 接受用户输入的一个浮点数,并转换为浮点类型
d = float(input())
# 如果计算结果正确,输出'恭喜你,回答正确'并统计答对的次数,注意满足条件时执行的语句要缩进
if d == eval(f'{a}{sign}{b}'):
print("恭喜你,回答正确",end='\n')
correct+=1
else:
print("回答错误,你要加油哦!",end='\n')
# 否则输出'回答错误,你要加油哦!'
# 以下语句不要修改
print(f'答对{correct}题,正确率为{correct / n * 100}%',end ='')
# 以下语句不要修改
if __name__ == '__main__':
num = int(input('请输入出题数量:'))
m = int(input('请输入参与计算的最大数字:'))
calculator(num, m) # 调用函数完成计算
1.2欢迎入学(project)
第一关:
任务要求:
本关任务:编写一个欢迎入学的小程序。
测试输入:
李明
输出:
|++++++++++++++++++++++|
| |
| Welcome to WHUT |
| |
|++++++++++++++++++++++|
欢迎您,李明同学!
代码:
"""
编写程序,用户入自己的姓名,输出以下界面后,再在下一行输出“欢迎您,***同学!”
|++++++++++++++++++++++|
| |
| Welcome to WHUT |
| |
|++++++++++++++++++++++|
"""
my_name = input() # 输入学生的姓名
########### Begin ############
# 输出以上界面
print(f"|++++++++++++++++++++++|")
print(f"| |")
print(f"| Welcome to WHUT |")
print(f"| |")
print(f"|++++++++++++++++++++++|")
print(f"欢迎您,{my_name}同学!")
# 输出“欢迎您,***同学!”
########### End ############
1.3日期格式化输出(project)
第一关:
任务要求:
编写一个日期格式化输出的小程序。
测试输入:
2021
04
26
输出:
2021 04 26
相关知识:
1.学习Python语言输出函数
print(*objects, sep=' ', end='\n', file=None, flush=False)
2.掌握print()函数中参数sep与end的作用
3.灵活使用print()函数中的格式控制字符串str.format()方法与f_string写法
4.学习str字符串类型数据的基本操作之一:+运算可以将两个字符串进行连接
代码:
# 实验要求
# 在三行中分别输入当前的年、月、日的整数值,按要求完成输出。
# 1 输出年月日,空格分隔,格式:2020 09 16
# 测试数据
# 输入(>>>开头的行表示输入数据)
# >>>2021
# >>>04
# >>>26
# 输出
# 2021 04 26
# 以下为代码区
# =======================================================
year = input() # 输入当前年
month = input() # 输入当前月
date = input() # 输入当前日
# =======================================================
# 此处去掉注释符号“#”并补充你的代码
print(f"{year} {month} {date}")
# =======================================================
第二关:
测试输入:
2021
04
26
输出:
2021-04-26
2021/04/26
04,26,2021
相关知识:
输出应该用这个知识点or格式:print(name, age ,job , sep='-')
代码:
# 实验要求
# 在三行中分别输入当前的年、月、日的整数值,按要求完成输出。
# 2 输出年-月-日,连字符“-”分隔,格式:2020-09-16
# 3 输出年/月/日,斜线“/”分隔,格式:2020/09/16
# 4 输出月,日,年,逗号“,”分隔,格式:09,16,2020
# 测试数据
# 输入(>>>开头的行表示输入数据)
# >>>2021
# >>>04
# >>>26
# 输出
# 2021-04-26
# 2021/04/26
# 04,26,2021
# 以下为代码区
# =======================================================
year = input() # 输入当前年
month = input() # 输入当前月
date = input() # 输入当前日
# =======================================================
# 此处去掉注释符号“#”并补充你的代码
print(year,month,date,sep ='-')
print(year,month,date,sep ='/')
print(month,date,year,sep =',')
# =======================================================
第三关:
任务要求:
编写一个日期格式化输出的小程序。
测试输入:
2021
04
26
输出:
2021年04月26日
相关知识:
学会str.format,例:print("hello,{name},you are {age}.".format(age=age, name=name))
代码:
# 实验要求
# 在三行中分别输入当前的年、月、日的整数值,按要求完成输出。
# 5 用str.format()格式输出,格式:2020 年09 月16 日
# 测试数据
# 输入(>>>开头的行表示输入数据)
# >>>2021
# >>>04
# >>>26
# 输出
# 2021年04月26日
# 以下为代码区
# =======================================================
year = input() # 输入当前年
month = input() # 输入当前月
date = input() # 输入当前日
# =======================================================
print(f'{year}年{month}月{date}日'.format(year,month,date))
# =======================================================
第四关:
测试输入:
2021
04
26
输出:
2021年04月26日
相关知识:
学会字符串拼接:print("name="+name+","+"age= "+age+","+"job="+job)
代码:
# 实验要求
# 在三行中分别输入当前的年、月、日的整数值,按要求完成输出。
# 6 用字符串拼接方法输出,格式:2020 年09 月16 日
# 测试数据
# 输入(>>>开头的行表示输入数据)
# >>>2021
# >>>04
# >>>26
# 输出
# 2021年04月26日
# 以下为代码区
# =======================================================
year = input() # 输入当前年
month = input() # 输入当前月
date = input() # 输入当前日
# =======================================================
# 此处去掉注释符号“#”并补充你的代码
print(year+"年"+month+"月"+date+"日")
# =======================================================
1.4输入训练(project)
第一关:
测试输入:
武汉
输出:
武汉
代码:
# 补充你的代码
name = input()
print(name)
第二关:
测试输入:
31415926
屏幕显示如下:
请输入一个整数:31415926
预期输出:
31415926
代码:
# 补充你的代码
s = input("请输入一个整数:")
print(s)
第三关:
测试输入:
武汉
输出:
武汉武汉武汉武汉武汉武汉武汉武汉武汉武汉
相关知识:
可以用*来增加字符串
代码:
# 补充你的代码
s = input()
s2 = s * 10
print(s2)
第四关:
测试输入:
武汉市
总人口数为
1306万
输出:
武汉市总人口数为1306万
相关知识:
可以用+来增加字符串
代码:
# 补充你的代码
s1 = input()
s2 = input()
s3 = input()
s = s1 + s2 + s3
print(s)
第五关:
任务要求:
用户在两行中各输入一个整数字符串,将其转为整数类型,计算并输出这两个整数的乘积。
测试输入:
3
4
输出:
12
相关知识:
强制类型转换,为int('')
代码:
# 补充你的代码
s1 = input()
s2 = input()
s1 = int(s1)
s2 = int(s2)
print(s1 * s2)
第六关:
任务要求:
用户在两行中各输入一个数值字符串,将其转为浮点数类型,计算并输出这两个浮点数的乘积。
测试输入:
3.1415926
16.5
输出:
51.8362779
代码:
# 补充你的代码
s1 = input()
s2 = input()
s1 = float(s1)
s2 = float(s2)
print(s1 * s2)
第七关:
任务要求:
用户通过键盘输入一个字符串,将这个字符串转为可计算对象,再将转换结果乘3后输出到显示器上。
测试输入:
3
输出:
9
代码:
#补充你的代码
s = input()
s = eval(s)
print(s * 3)
1.5输出训练(project)
第一关:
测试输入:
Hi, Python!
输出:
Hi, Python!
代码:
# 补充你的代码
s = input()
print(s)
第二关:
测试输入:
2023年
03月
09日
输出:
2023年 03月 09日
代码:
# 补充你的代码
s1 = input()
s2 = input()
s3 = input()
print(s1,s2,s3,sep = " ")
第三关:
测试输入:
2023
03
09
/
输出:
2023/03/09
代码:
s1 = input()
s2 = input()
s3 = input()
s4 = input()
print(s1,s2,s3,sep = s4)
第四关:
测试输入:
2023
03
09
晴
输出:
今天是2023年03月09日,天气晴。
代码:
year = input()
month = input()
date = input()
weather = input()
print(f"今天是{year}年{month}月{date}日,天气{weather}。".format(year,month,date,weather))
第五关:
测试输入:
2023
03
09
晴
输出:
今天是2023年03月09日,天气晴。
代码:
year = input()
month = input()
date = input()
weather = input()
print(f"今天是{year}年{month}月{date}日,天气{weather}。")
第六关:
测试输入:
>
12
输出:
圆周率值为: 3.14
圆周率值为: 3.1415
圆周率值为: 3.1415926
重点知识:
1.pi里面要用字符串!!
2.可以用<>实现左对齐右对齐
3.用pi:>4 实现 右对齐 4格
代码:
pi1 = '3.14'
pi2 = '3.1415'
pi3 = '3.1415926'
sign = input()
num= input()
print(f'圆周率值为:{pi1:{sign}{num}}')
print(f'圆周率值为:{pi2:{sign}{num}}')
print(f'圆周率值为:{pi3:{sign}{num}}')
第七关:
测试输入:
6
输出:
圆周率值为:3.141593
相关知识:
用print(f"{pi:.2f}")输出浮点数后面的数字,注意要用f"",而且是:.
代码:
pi = 3.14159265358979
n = int(input())
print(f"圆周率值为:{pi:.{n}f}")