Python实验报告二 python基础试题练习

一.用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。

【提示】①答案不唯一。②凡符合下面两个条件之一的年份是闰年。1、能被4整除但不能被100整除。2、能被400整除。

二.用分支结构实现分段函数计算,如下图所示:当x<0时,y=0;当0<=x<5时,y=3x-5;当10<=x<20时,y=0.5x-2;当20<=x时,y=0。

[提示]答案不唯一。

三.编程程序实现输入x,y,判断其属于第几象限。

四.购买地铁车票的规定如下: 乘1-4站,3元/位;乘5-9站,4元/位;乘9站以上,5元/位。 输入乘坐人数(per_num)和乘坐站数(sta_num),计算购买地铁车票需要的总金额,并将计算结果输出。注意: 如果「乘坐人数」和「乘坐站数」为 0 或负数 ,输出 error 。

五.从键盘接收一个字符串,分别统计其中大写字母、小写字母、数字和其他字符的个数并输出。【提示】①答案不唯一。

六.编写程序,根据输入的行列数值,生成相应的矩阵,矩阵内元素为随机数。【提示】①答案不唯一。②生成随机数可使用random.randint(),生成数组可使用np.ones(),用其他方法也可以不扣分。

七.编写程序并绘制程序流程图,实现输入一个数,判断这个数是否为素数,并输出判断结果“x是素数”或“x不是素数”。
【提示】①答案不唯一。②所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。

八.嵌套打印九九乘法表,如下图所示。

【提示】:①答案不唯一。

九.绘制程序流程图,并编程计算1+2+3+...+100的和,并打印计算结果“1+2+3+4+...+99+100=?”。
【提示】:①答案不唯一。②尽量用循环完成本题,用其他方法解题也可以。

十.如图所示,打印星号。

【提示】:①答案不唯一。

Python实验二报告

一.实验内容:

用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。

【提示】①答案不唯一。②凡符合下面两个条件之一的年份是闰年。1、能被4整除但不能被100整除。2、能被400整除。

  • 实验过程:

1.先判断生成闰年的条件:能被4整除但不能被100整除。或能被400整除。

2.用input()函数从键盘录入一个整数型year(年份)。

3.用if....else语句判断是否为闰年。

4.用print语句输出:如果是闰年输出***是一个闰年;否则输出***不是一个闰年。

 

  • 实验结果:

 

 

  • 实验小结:

学会运用if...else语句判断,在写代码之前要弄清楚什么是闰年。

代码:

# 用python编写程序,输入一年份,判断该年份是否是闰年并输出结果
year = int(input('请输入一年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print(year, '是一个闰年。', sep='')
else:
    print(year, '不是一个闰年。', sep="")

  • 实验内容:

用分支结构实现分段函数计算,如下图所示:当x<0时,y=0;当0<=x<5时,y=3x-5;当10<=x<20时,y=0.5x-2;当20<=x时,y=0。

[提示]答案不唯一。

  • 实验过程:
  1. 用input()函数从键盘录入一个数x。
  2. 用eval函数:用来执行一个表达式,并返回这个表达式的结果。
  3. 用if....elif条件语句来执行不同的判断条件,然后执行。

 

  • 实验结果:

 

 

  • 实验小结:

要会eval函数:用来执行一个表达式,并返回这个表达式的结果。分条叙述每个条件。

代码:

# 用分支结构实现分段函数计算,如下所示: 当x<0时, y=0; 当0<=x<5时, y=x; 当5<=x<10时, y=3x-5;
# 当10<=x<20时, y=0.5x-2; 当20<=x时, y=0
x = eval(input('请输入一个数:'))
if x < 0:
    y = 0
    print('y=', y, sep='')
elif 0 <= x < 5:
    print('y=', x, sep='')
elif 5 <= x < 10:
    y = 3*x-5
    print('y=', y, sep='')
elif 10 <= x < 20:
    y = 0.5*x-2
    print('y=', y, sep='')
elif x >= 20:
    y = 0
    print('y=', y, sep='')

  • 实验内容:

编程程序实现输入x,y,判断其属于第几象限。

  • 实验过程:
  1. 用input()函数从键盘录入一个数x。
  2. 用input()函数从键盘录入一个数y。
  3. 用eval函数:用来执行一个表达式,并返回这个表达式的结果。
  4. 用If....elif.....else语句判断四个象限的所属范围。
  5. 输出录入的数所属的象限。
  6. 若不在四个象限内则输出不在。

 

  • 实验结果:

 

 

  • 实验小结:

判断象限问题,要知道一共有几个象限。熟练运用if....elif....else分支语句。

代码:

# 编写程序实现输入x,y,判断其属于第几象限。
x = eval(input('请输入x:'))
y = eval(input('请输入y:'))
if x>0 and y>0 :
    print('(', x, ',', y, ')', '属于第一象限', sep='')
elif x<0 and y>0 :
    print('(', x, ',', y, ')', '属于第二象限', sep='')
elif x < 0 and y < 0:
    print('(', x, ',', y, ')', '属于第三象限', sep='')
elif x>0 and y<0 :
    print('(', x, ',', y, ')', '属于第四象限', sep='')
else:
    print('(', x, ',', y, ')', '不在象限内', sep='')

四.地铁车票价格计算

一.实验内容:

购买地铁车票的规定如下: 乘1-4站,3元/位;乘5-9站,4元/位;乘9站以上,5元/位。 输入乘坐人数(per_num)和乘坐站数(sta_num),计算购买地铁车票需要的总金额,并将计算结果输出。注意: 如果「乘坐人数」和「乘坐站数」为 0 或负数 ,输出 error 。

  • 实验过程:
  1. 用input()函数从键盘录入一个整数型per_num(乘坐人数)。
  2. 用input()函数从键盘录入一个整数型per_num(乘坐站数)。
  3. 用if....elif....else语句分别计算出不同站所需要的钱数。
  4. 用print函数输出总金额。

 

  • 实验结果:

​​​​​​​

 

 

  • 实验小结:

在编写代码过程中,要计算好不同站每个人所需要多少钱的算法,才可以完成此题。

代码:

# 购买地铁车票的规定如下: 乘1-4站,3元/位;乘5-9站,4元/位;乘9站以上,5元/位。 输入乘坐人数(per_num)和乘坐站数(sta_num),
# 计算购买地铁车票需要的总金额,并将计算结果输出。注意: 如果「乘坐人数」和「乘坐站数」为 0 或负数 ,输出 error 。
per_num = int(input('请输入乘坐人数:'))
sta_num = int(input('请输入乘坐站数:'))
if (sta_num >= 1) and (sta_num <= 4):
    title = per_num*3
    print('总金额为:', title, sep='')
elif (sta_num >= 5) and (sta_num <= 9):
    title = per_num*4
    print('总金额为:', title, sep='')
elif sta_num > 9:
    title = per_num*5
    print('总金额为:', title, sep='')
else:
    print('error')

五.统计字符

一.实验内容:

从键盘接收一个字符串,分别统计其中大写字母、小写字母、数字和其他字符的个数并输出。【提示】①答案不唯一。

  • 实验过程:
  1. 用input()函数从键盘录入字符串a.
  2. 分别定义大写,小写,数字,其他。
  3. 用for..in遍历字符串a.
  4. For..in 里面嵌套if,elif,,,else语句。
  5. 分别用isupper(),islower(),isdigit()函数。
  6. 分别输出他们。

 

  • 实验结果:

​​​​​​​

 

  • 实验小结:

学会用isupper(),islower(),isdigit()函数。

代码:

#   从键盘接收一个字符串,分别统计其中大写字母、小写字母、数字和其他字符的个数并输出。
a = input('请输入字符串:')
daXie = 0
xiaoXie = 0
shuZi = 0
qiTa = 0
for i in a:
    if i.isupper():
        daXie = daXie + 1
    elif i.islower():
        xiaoXie = xiaoXie + 1
    elif i.isdigit():
        shuZi = shuZi + 1
    else:
        qiTa = qiTa + 1
print('大写出现次数:', daXie, sep='')
print('小写出现次数:', xiaoXie, sep='')
print('数字出现次数:', shuZi, sep='')
print('其他字符出现次数:', qiTa, sep='')

六.生成矩阵。

一.实验内容:

编写程序,根据输入的行列数值,生成相应的矩阵,矩阵内元素为随机数。

【提示】①答案不唯一。②生成随机数可使用random.randint(),生成数组可使用np.ones(),用其他方法也可以不扣分。

  • 实验过程:
  1. 用import导入numpy包。

2.用input()函数从键盘录入一个数x。

3.用input()函数从键盘录入一个数y。

4.定义一个a用np.random.randint()函数生成随机数矩阵。

5.输出a

 

  • 实验结果:

 

 

  • 实验小结:

要学会使用numpy包,并会使用np.random.randint()函数。

代码:

# 编写程序,根据输入的行列数值,生成相应的矩阵,矩阵内元素为随机数。
# 【提示】①答案不唯一。②生成随机数可使用random.randint(),用其他方法也可以不扣分。
import numpy as np
x = int(input('行数:'))
y = int(input('列数:'))
a = np.random.randint(1, 100, size=(x, y))
print(a)

七.判断素数。

实验目的:掌握分支结构的选择和使用;掌握循环结构的选择和使用;掌握流程控制语句break/continue的选择和使用。

一.实验内容:

编写程序并绘制程序流程图,实现输入一个数,判断这个数是否为素数,并输出判断结果“x是素数”或“x不是素数”。
【提示】①答案不唯一。②所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。

  • 实验过程:
  1. 用input()函数从键盘录入一个数num.
  2. 用if...else语句是num>1.
  3. If...else语句里面嵌套for...in语句遍历。
  4. 在if...else语句判断是不是为素数。

 

  • 实验结果:

 

 

  • 实验小结:

在编写代码前,需要计算好算法,何为素数。并且能熟练使用break,continue语句。

代码:

# 编写程序并绘制程序流程图,实现输入一个数,判断这个数是否为素数,并输出判断结果“x是素数”或“x不是素数”。
# 【提示】①答案不唯一。②所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。
num = int(input('请输入一个数:'))
if num > 1:
    for i in range(2,num):
        if num%i == 0:
            print(num,'不是素数',sep='')
            break
        else:
            continue
    else:
        print(num, '是素数', sep='')
else:
    print('输入有误')

八.打印九九乘法表。


一.实验内容:

嵌套打印九九乘法表,如下图所示。

【提示】:①答案不唯一。

  • 实验过程:
  1. 用两个for...in遍历。
  2. 在第二个for....in语句中输出乘法算式的格式。

 

  • 实验结果:

​​​​​​​

 

  • 实验小结:

要准确掌握第二个for..in range的范围如何设置。

代码:

# 嵌套打印九九乘法表,如下图所示。

for i in range(1, 10):
    for j in range(1, i + 1):
        s = i * j
        print(j, '*', i, '=', s, sep='', end='\t')
    print('')  # print特性,换行输出

九.求1~n的和。
一。实验内容:

绘制程序流程图,并编程计算1+2+3+...+100的和,并打印计算结果“1+2+3+4+...+99+100=?”。
【提示】:①答案不唯一。②尽量用循环完成本题,用其他方法解题也可以。

  • 实验过程:
  1. 定义一个sum1.
  2. 用for..in语句,range为1~101.
  3. 使sum1 = sum1+i
  4. 输出sum1.

 

  • 实验结果:

​​​​​​​

 

  • 实验小结:

sum不能随便定义,如果真要定义后面最好再加点东西。

代码:

# 绘制程序流程图,并编程计算1+2+3+...+100的和,并打印计算结果“1+2+3+4+...+99+100=?”。
sum1 = 0
for i in range(1, 101):
    sum1 += i
print(sum1)


十、打印图像。

一.实验内容:

如图所示,打印星号。

【提示】:①答案不唯一。

  • 实验过程:
  1. 每个图形都使用for...in语句嵌套for...in语句。
  2. 在for...in语句中定义好range的范围。
  3. 再根据题意输出“ ”,“*”。

 

 

 

  • 实验结果:

​​​​​​​

 

 

  • 实验小结:

在写之前需要考虑好空格和星的位置放置情况

代码:

# 如图所示,打印星号。
# 1.正方形打印
for i in range(4):
    for j in range(7):
        print('*', end='')
    print('')
print('---------------------------------------')
# 2.直角三角形打印
for i in range(1, 5):
    for j in range(2*i-1):
        print('*', end='')
    print('')
print('--------------------------------------')
# 3.正等腰三角形
for i in range(1, 5):
    for j in range(1, 5-i):
        print(' ', end='')
    for k in range(2*i-1):
        print('*', end='')
    print('')
print('-------------------------------------')
# 4.倒等腰三角形
for i in range(1, 5):
    for j in range(i-1):
        print(' ', end='')
    for k in range(9-2*i):
        print('*',end='')
    print('')
print('------------------------------------------')
# 5.左三角形打印
for i in range(1, 5):
    for j in range(2*i-1):
        print('*', end='')
    print('')
for i in range(1,4):
    for j in range(7-2*i):
        print('*',end='')
    print('')

print('--------------------------------------')
# 6.菱形
for i in range(1, 5):
    for j in range(1, 5-i):
        print(' ', end='')
    for k in range(2*i-1):
        print('*', end='')
    print('')
for i in range(1, 5):
    for j in range(i):
        print(' ', end='')
    for k in range(7 - 2 * i):
        print('*', end='')
    print('')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值