欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

浙大版《Python 程序设计》题目集第4章-7——第4章-11

程序员文章站 2022-07-12 22:50:08
...

第4章-7 统计学生平均成绩与及格人数

本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

输入格式:
输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出格式:
按照以下格式输出:

average = 成绩均值
count = 及格人数
其中平均值精确到小数点后一位。

输入样例:

5
77 54 92 73 60

输出样例:

average = 71.2
count = 4

答案样例:

i = int(input())
if i == 0:
    print('average = 0.0')
    print('count = 0')
else:
    s = list(map(int,input().split()))
    s1 = [j for j in s if j >= 60]  
    print('average = {:.1f}'.format(sum(s)/len(s)))
    print('count = {}'.format(len(s1)))

第4章-8 求分数序列前N项和

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

输入格式:
输入在一行中给出一个正整数N。

输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

20

输出样例:

32.66

答案样例:

a = int(input())
s =0
x = 1
y = 1
for i in range(a):
    x,y = y,x+y
    s += y/x
print('{:.2f}'.format(s))

第4章-9 查询水果价格

给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。

首先在屏幕上显示以下菜单:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。

输入格式:
输入在一行中给出用户连续输入的若干个编号。

输出格式:
首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。

输入样例1:

3 -1 0 2

输出样例1:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
price = 4.10
price = 0.00

输入样例2:

1 2 3 3 4 4 5 6 7 8

输出样例2:

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
price = 3.00
price = 2.50
price = 4.10
price = 4.10
price = 10.20

答案样例:

s = map(int,input('').split())
count = 0
print('[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit')
for i in s:
    if count == 5:
        break
    if i == 1:
        print('price = {:.2f}'.format(3))
        count += 1
    elif i == 2:
        print('price = {:.2f}'.format(2.5))
        count += 1
    elif i == 3:
        print('price = {:.2f}'.format(4.1))
        count += 1
    elif i == 4:
        print('price = {:.2f}'.format(10.2))
        count += 1
    elif i == 0:
        break
    else:
        print('price = {:.2f}'.format(0))

第4章-10 最大公约数和最小公倍数

本题要求两个给定正整数的最大公约数和最小公倍数。

输入格式:
输入在一行中给出两个正整数M和N(≤1000)。

输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:

511 292

输出样例:

73 2044

答案样例:

a,b = list(map(int,input().split()))
min1 = min(a,b)
max1 = max(a,b)
while True:
    if a % min1 == 0 and b % min1 == 0:
        break
    min1 -= 1
while True:
    if max1 % a == 0 and max1 % b== 0:
        break
    max1 += 1
print('{} {}'.format(min1,max1))

第4章-11 判断素数

判断一个给定的正整数是否素数

输入格式:
输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于1000000 的需要判断的正整数

输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No

输入样例:
在这里给出一组输入。例如:

2
11
111

输出样例:
在这里给出相应的输出。例如:

Yes
No

答案样例:

n = int(input())
for i in range(n):
    a = int(input())
    for j in range(2,int(a**0.5)+1):
        if a % j == 0:
            print('No')
            break
    else:
        print('Yes')