zsc_python习题:语言基础PART1

 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.14

2.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}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值