Python编程训练题2(上)

简介: 1.11有 n 盏灯,编号 1~n(0<n<100)。第 1 个人把所有灯打开,第 2 个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第 3 个人按下所有编号为 3 的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依次类推。输入灯数和人数,输出开着的灯的编号。比如输入:10 2 输出最后亮灯的编号:1,3,5,7,9 注意:使用循环语句实现。

1.11

有 n 盏灯,编号 1~n(0

2 的倍数的开关(这些灯将被关掉),第 3 个人按下所有编号为 3 的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依次类推。输入灯数和人数,输出开着的灯的编号。

比如输入:10 2 输出最后亮灯的编号:1,3,5,7,9 注意:使用循环语句实现。

n, x = input('请依次输入灯数和人数:').split(' ')
n = int(n)
x = int(x)
led = []
# 使输入的所有灯打开
for i in range(n + 1):
    led.append(1)
for i in range(2, x + 1):
    for j in range(i, n + 1, i):
        led[j] = -led[j]
for i in range(1, n + 1):
    if led[i] == 1:
        print(i, end=',')

1.1.png

1.12

冒泡排序

原始数组:[1,9,3,7,4,2,5,0,6,8]

排序后:[0,1,2,3,4,5,6,7,8,9];

要求:综合使用分支、循环结构语句实现,直接输出结果不计分。打印每一次运行的结果

initial = [1, 9, 3, 7, 4, 2, 5, 0, 6, 8]  # 初始值
temp = 0  # 中间值转化
for i in range(len(initial)):
    for j in range(len(initial) - i-1):
        if initial[j] > initial[j + 1]:
            temp = initial[j]
            initial[j] = initial[j + 1]
            initial[j + 1] = temp
    print(f'第{i+1}轮变化结果:{initial}')

1.2.png

1.13

动物园饲养的食肉动物分大型动物和小型动物两类,规定老虎、狮子一类的大动物每次喂肉每头三斤,狐狸、山猫一类小动物每三头喂一斤。该动物园共有这两类动物 100 头,每

次需喂肉 100 斤,编程输出大、小动物的数量。

for big in range(1, 101):
    if 3 * big + 1 / 3 * (100 - big) == 100:
        print(f'大型动物{big},小型动物{100 - big}')

1.3.png

1.14

从键盘接收一个整数 n(n>=4),请打印一个由“*”号组成的长度和宽度均为 n 的空心矩形。例如输入:4 你要在屏幕打印如下图形:1.4.png

n = int(input('请输入一个整数n:'))
for i in range(n):
    for j in range(n):
        if i == 0 or j == 0 or i == n - 1 or j == n - 1:
            print('*', end='')
        else:
            print('', end=' ')
    print()
n = int(input('请输入一个整数n:'))
for i in range(n):
    for j in range(n):
        if i == 0 or j == 0 or i == n - 1 or j == n - 1:
            print('*', end='')
        else:
            print('', end=' ')
    print()

1.5.png

1.15

注意输出指定空心正方形。输入第一个数字为边长,第二个字符为组成图形边的字符。例如:输入

4 a (4为空心正方形的大小,a为显示的字符)

输出

aaaa

a a

a a

aaaa

n, char = input('请依次输入边长和字符:').split(' ')
n = int(n)
for i in range(n):
    for j in range(n):
        if i == 0 or j == 0 or i == n - 1 or j == n - 1:
            print(f'{char}', end='')
        else:
            print('', end=' ')
    print()

1.6.png

1.16

已知鸡和兔的总数量为 n,总腿数为 m。输入 n 和 m,依次输出鸡和兔的数目,如果无解, 则输出“No answer”(不要引号)

n, m = input('依次输入n,m:').split(' ')
n = int(n)
m = int(m)
rabbit = 0
f = True  # 判断答案是否存在
for rabbit in range(n + 1):
    if rabbit * 4 + (n - rabbit) * 2 == m:
        f = False
        print(f'兔的数量:{rabbit},鸡的数量:{n - rabbit}')
if f:
    print('No answer')

1.7.png

1.17

中国古代的《算经》记载了这样一个问题:公鸡 5 文钱 1 只,母鸡 3 文钱 1 只,小鸡 1

文钱 3 只,如果用 100 文钱买 100 只鸡,那么公鸡、母鸡和小鸡各应该买多少只呢?现在请

你编程求出所有的解,每个解输出 3 个整数,打印在一行,用空格隔开,分别代表买的公鸡、母鸡、小鸡的数量。

注意:100 文钱要正好用完。请输出所有的解,每个解占一行。

cock, hen, chick = 0, 0, 0  # 公鸡,母鸡,小鸡
for cock in range(100):
    for hen in range(100):
        for chick in range(100):
            if cock + hen + chick == 100 and cock * 3 + hen * 1 + 1 / 3 * chick == 100:
                print(cock, hen, chick, sep=' ')

1.8.png

1.18

啤酒每罐 2.3 元,饮料每罐 1.9 元。小明买了若干啤酒和饮料,一共花了 82.3 元。我们还知道他买的啤酒比饮料的数量少,请你编程计算他买了几罐啤酒。

max_beer = int(82.3 / 2.3)
max_drink = int(82.3 / 1.9)
for beer in range(max_beer):
    for drink in range(max_drink):
        if beer * 2.3 + drink * 1.9 == 82.3 and beer < drink:
            print(beer)

1.9.png


相关文章
|
12天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
184 102
|
12天前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
185 104
|
12天前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
177 103
|
12天前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
125 82
|
12天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
29 0
|
21天前
|
存储 人工智能 算法
Python实现简易成语接龙小游戏:从零开始的趣味编程实践
本项目将中国传统文化与编程思维相结合,通过Python实现成语接龙游戏,涵盖数据结构、算法设计与简单AI逻辑,帮助学习者在趣味实践中掌握编程技能。
82 0
|
1月前
|
安全 测试技术 数据处理
Python列表推导式进阶:从简洁代码到高效编程的10个核心技巧
列表推导式是Python中高效的数据处理工具,能将多行循环代码压缩为一行,提升代码可读性与执行效率。本文详解其基础语法、嵌套循环、条件表达式、函数融合、性能优化等进阶技巧,并结合实战案例与边界条件处理,帮助开发者写出更优雅、高效的Python代码。
116 0
|
1月前
|
机器学习/深度学习 人工智能 运维
Python:简洁高效的万能编程胶水
Python:简洁高效的万能编程胶水
|
3月前
|
Python
Python编程基石:整型、浮点、字符串与布尔值完全解读
本文介绍了Python中的四种基本数据类型:整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。整型表示无大小限制的整数,支持各类运算;浮点型遵循IEEE 754标准,需注意精度问题;字符串是不可变序列,支持多种操作与方法;布尔型仅有True和False两个值,可与其他类型转换。掌握这些类型及其转换规则是Python编程的基础。
222 33
|
2月前
|
数据采集 分布式计算 大数据
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
96 1

推荐镜像

更多