一.用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。
[提示]答案不唯一。
要会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,判断其属于第几象限。
判断象限问题,要知道一共有几个象限。熟练运用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-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')
从键盘接收一个字符串,分别统计其中大写字母、小写字母、数字和其他字符的个数并输出。【提示】①答案不唯一。
学会用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(),用其他方法也可以不扣分。
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)
编写程序并绘制程序流程图,实现输入一个数,判断这个数是否为素数,并输出判断结果“x是素数”或“x不是素数”。
【提示】①答案不唯一。②所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。
在编写代码前,需要计算好算法,何为素数。并且能熟练使用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('输入有误')
嵌套打印九九乘法表,如下图所示。
【提示】:①答案不唯一。
要准确掌握第二个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+2+3+...+100的和,并打印计算结果“1+2+3+4+...+99+100=?”。
【提示】:①答案不唯一。②尽量用循环完成本题,用其他方法解题也可以。
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 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('')