蓝桥等考Python组别九级007

第一部分:选择题

1、Python L9 (15分)

运行下面程序,可以输出几行“*”?(   )

for i in range(0, 3):

    for j in range(0, 5):

        print('*', end = ' ')

    print()

  1. 2
  2. 3
  3. 4
  4. 5

正确答案:B

2、Python L9 (15分)

运行下面程序,一共可以输出几个“*”?(   )

for i in range(1, 4):

    for j in range(1, 6):

        print('*', end = ' ')

    print()

  1. 15
  2. 16
  3. 10
  4. 12

正确答案:A

3、Python L9 (20分)

运行下面程序,输出的结果是(    )。

for i in range(3):

    for j in range(4):

        print('A', end = ' ')

    print()

A A

A A

A A 

A A A

A A A 

A A A

A A A

A A A

A A A 

A A A A

A A A A

A A A A 

正确答案:D

第二部分:编程题

4、Python L9 方阵图案20分)

题目名称:方阵图案

题目描述:

输入一个正整数n,用数字“8”输出n行n列的方阵图案。

提示:

1.print(x, end = ' ')语句可以输出指定内容,以空格结尾;

2.print()语句不输出任何内容,表示换行。

输入:

一个正整数n(2<=n<=10)。

输出:

用数字“8”输出n行n列的方阵图案,每行相邻两个数字用一个空格隔开。

注意:

输出时行末尾是否有空格,不影响答案的正确性。

输入样例1:

3

输出样例1:

8 8 8

8 8 8

8 8 8 

输入样例2:

4

输出样例2:

8 8 8 8

8 8 8 8

8 8 8 8

8 8 8 8

参考程序:

n = int(input())

for i in range(n):

    for j in range(n):

        print(8, end = ' ')

    print()

测试数据:

1.in

3

1.out

8 8 8

8 8 8

8 8 8

2.in

4

2.out

8 8 8 8

8 8 8 8

8 8 8 8

8 8 8 8

3.in

5

3.out

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

4.in

8

4.out

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

5.in

10

5.out

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8 8 8

5、Python L9 小猫分鱼(30分)

题目名称:小猫分鱼

题目描述:

猫妈妈钓了n条鱼,分给小白猫和小黄猫,要求:

1.每只小猫都要有鱼;

2.小白猫分到的鱼比小黄猫多;

3.小白猫分到的鱼不超过小黄猫的2倍;

4.不一定要把n条鱼都分完。

输入一个正整数n,输出有多少种方法可以满足以上要求。

例如:n=5时,符合要求的分配方法有2种,如下图所示。

输入:

一个正整数n(3<=n<=60)。

输出:

一个整数,表示按照题目要求分配n条鱼的方法数。

输入样例:

5

输出样例:

2

参考程序1

n = int(input())

ans = 0

for i in range(1, n + 1): #i是小黄猫分到的鱼的数量

    for j in range(i + 1, 2 * i + 1): #j是小白猫分到的鱼的数量

        if i + j <= n:

            ans += 1

print(ans)

参考程序2

n = int(input())

ans = 0

for i in range(1, n + 1):

    for j in range(i + 1, n - i + 1):

        if j <= 2 * i:

            ans += 1

print(ans)

参考程序3:

n = int(input())

ans = 0

for i in range(1, n + 1): #i是小黄猫分到的鱼的数量

    for j in range(i + 1, min(2 * i + 1, n - i + 1)): #j是小白猫分到的鱼的数量

        ans += 1

print(ans)

测试数据:

1.in

5

1.out

2

2.in

7

2.out

4

3.in

15

3.out

19

4.in

22

4.out

40

5.in

34

5.out

96

猜你喜欢

转载自blog.csdn.net/abilix_tony/article/details/133445093