python题(2)

一、判断年份

实验目的:掌握分支结构的选择和使用;

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

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

year = eval(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print("该年份是闰年")
else:
    print("该年不是闰年")

 

二、分段函数计算

实验目的:掌握分支结构的选择和使用;

实验内容:用分支结构实现分段函数计算,如下所示: 当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 = int(input("输入x的值:"))
y = 0
if x < 0:
    y = 0
    print(y)
elif 0 <= x < 5:
    y = x
    print(y)
elif 5 <= x < 10:
    y = 3 * x - 5
    print(y)
elif 10 <= x < 20:
    y = 0.5 * x - 2
    print(y)
else:
    y = 0
    print(y)

 

 

三、象限判断

实验目的:掌握分支结构的选择和使用;

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

str1 = str(input(''))
a = str1.count('-')
b = str1[1]
if a == 0:
    print('第一象限')
elif a == 2:
    print('第三象限')
else:
    if b == '-':
        print('第二象限')
    else:
        print('第四象限')

 

 

四、地铁车票价格计算

实验目的:掌握分支结构的选择和使用;

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

per_num = int(input("输入乘坐人数:"))
sta_num = int(input("输入乘坐站数:"))
money = 0
if per_num <= 0 or sta_num <= 0:
    print("error")
elif 1 <= sta_num <= 4:
    money = 3 * per_num
    print(money)
elif 5 <= sta_num <= 9:
    money = 4 * per_num
    print(money)
else:
    money = 5 * per_num
    print(money)

 

 

五、统计字符

实验目的:掌握分支结构的选择和使用;

实验内容:从键盘接收一个字符串,分别统计其中大写字母、小写字母、数字和其他字符的个数并输出。

str = input("输入字符串:")
j = len(str)
a = 0
b = 0
c = 0
d = 0
for j in range(j):
    if '0' <= str[j] <= '9':
        a += 1
    elif 'a' <= str[j] <= 'z':
        b += 1
    elif 'A' <= str[j] <= 'Z':
        c += 1
    else:
        d += 1
print("数字:", a)
print("大写字母:", c)
print("小写字母:", b)
print("其他:", d)

 

六、生成矩阵。

实验目的:掌握循环结构的选择和使用;

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

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

import random

n = int(input("请输入行:"))
m = int(input("请输入列:"))
x = y = 0
while x < n:
    y = 0
    while y < m:
        print(random.randint(1, 100), end="\t")
        y += 1
    print()
    x += 1

 

七、判断素数。

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

实验内容:编写程序并绘制程序流程图,实现输入一个数,判断这个数是否为素数,并输出判断结果“x是素数”或“x不是素数”。

【提示】①答案不唯一。②所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。

s = int(input("请输入一个正整数:"))
if s < 2:
    print("这个数不是素数!")
else:
    for i in range(2, s):
        if s % i == 0:
            print("这个数不是素数!")
        break
    else:
        print("这个数是素数!")

 

八、打印九九乘法表。

实验目的:掌握循环嵌套语句的使用。

实验内容:嵌套打印九九乘法表,如下图所示。

for i in range(1, 10):
    for j in range(1, i+1):
        print(f'{j}x{i}={i*j}\t', end='')
    print()

 

 

九、求1~n的和。

实验目的:掌握循环语句的选择和使用。

实验内容:绘制程序流程图,并编程计算1+2+3+...+100的和,并打印计算结果“1+2+3+4+...+99+100=?”。

【提示】:①答案不唯一。②尽量用循环完成本题,用其他方法解题也可以。

n = int(input("请输入要求累加到的数:"))
sum = 0
for i in range(1,n+1):
    sum += i
    print(i,end="+")
print("=",sum)

 

 

 

十、打印图像。

实验目的:掌握循环语句的选择和使用。

实验内容:如图所示,打印星号。

 

# 第一个图
print("图一")
i = 1
while i<=4:
    j=1
    while j<=7:
        print("* ", end = "")
        j+=1
    print("\n")
    i+=1


# 第二个图
print("图二")
i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1
    print(" ")
    i += 1


# 第三个图
print("图三")
i=1
a=4
while i<=4:
    j=1
    while j<2*a:
        if j<=(a-i) or j>=(a+i):
            print(" ",end="")
        else:
            print("*", end = "")
        j+=1
    print("\n")
    i+=1

# 第四个图
print("图四")
i=4
a=4
while i>=1:
    j=1
    while j<2*a:
        if j<=(a-i) or j>=(a+i):
            print(" ",end="")
        else:
            print("*", end = "")
        j+=1
    print("\n")
    i-=1

# 第五个图
print("图五")
i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1
    print(" ")
    i += 1
i = 4
while i >= 1:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1
    print(" ")
    i -= 1

# 第六个图
print("图六")
i=1
a=4
while i<4:
    j=1
    while j<2*a:
        if j<=(a-i) or j>=(a+i):
            print(" ",end="")
        else:
            print("*", end = "")
        j+=1
    print("\n")
    i+=1
i=4
a=4
while i>=1:
    j=1
    while j<2*a:
        if j<=(a-i) or j>=(a+i):
            print(" ",end="")
        else:
            print("*", end = "")
        j+=1
    print("\n")
    i-=1

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值