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


相关文章
|
9天前
|
存储 程序员 开发者
Python编程基础:从入门到实践
【10月更文挑战第8天】在本文中,我们将一起探索Python编程的奇妙世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基本概念开始,然后逐步深入到更复杂的主题,如数据结构、函数和类。最后,我们将通过一些实际的代码示例来巩固我们的知识。让我们一起开始这段Python编程之旅吧!
|
11天前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
64 0
|
11天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
18 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####
|
10天前
|
机器学习/深度学习 数据采集 数据挖掘
探索Python编程的奥秘
【10月更文挑战第7天】本文将带你走进Python的世界,探索其背后的逻辑与魅力。我们将从基础语法开始,逐步深入到函数、面向对象编程等高级特性,最后通过实际项目案例,让你体验Python的强大与便捷。无论你是编程新手,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启发。
|
11天前
|
IDE 开发工具 Python
Python 编程入门:打造你的第一个程序
【10月更文挑战第6天】编程,这个听起来高大上又充满神秘感的领域,其实就像学习骑自行车一样。一开始你可能会觉得难以掌握平衡,但一旦你学会了,就能自由地穿梭在广阔的道路上。本文将带你走进 Python 的世界,用最简单的方式让你体验编写代码的乐趣。不需要复杂的理论,我们将通过一个简单的例子——制作一个猜数字游戏,来实践学习。准备好了吗?让我们开始吧!
|
8天前
|
数据采集 开发框架 数据处理
探索Python的灵活性:简化日常编程任务
【10月更文挑战第7天】 【10月更文挑战第9天】 在本文中,我们将深入探讨Python编程语言的强大功能和灵活性。通过具体的代码示例,我们会展示如何利用Python简化日常编程任务,提高效率。无论是数据处理、自动化脚本还是Web开发,Python都能提供简洁而强大的解决方案。我们还将讨论一些最佳实践,帮助你编写更清晰、更高效的代码。
10 1
|
13天前
|
存储 人工智能 Java
Python编程入门:从基础到实战
【10月更文挑战第4天】本文旨在为初学者提供一个全面而深入的Python编程学习路径。我们将从Python的基本语法和概念开始,然后逐步深入到更复杂的主题,如数据结构、面向对象编程和异常处理等。最后,我们将通过一些实际的项目案例,帮助读者将理论知识应用到实践中去。无论你是编程新手,还是有一定经验的开发者,都可以在这篇文章中找到适合自己的学习内容。让我们一起开启Python编程的学习之旅吧!
|
12天前
|
存储 人工智能 数据挖掘
探索Python编程:从基础到进阶
【10月更文挑战第5天】在数字时代的浪潮中,掌握编程技能已成为一项宝贵的能力。本文旨在为初学者提供一个深入浅出的Python编程之旅,从基本概念到实际应用,逐步揭示编程之美。无论你是编程新手还是希望深化理解,跟随这篇文章的脚步,你将学会如何用Python语言构建你的第一个程序,并了解代码背后的逻辑。让我们开始吧,解锁编程的秘密,开启你的技术成长之路!
|
13天前
|
数据可视化 Python
Python编程之数据可视化入门
【10月更文挑战第4天】在数字时代的洪流中,数据如同星辰般璀璨,而将它们绘制成图表,便是我们探索宇宙的方式。本文将带你启航,用Python这艘航船,驶向数据可视化的奥秘。我们将从安装必要的工具包开始,逐步深入到数据的呈现,最后通过代码示例点亮知识的灯塔,指引你在数据海洋中航行。让我们握紧舵盘,乘风破浪,揭开数据背后的故事吧!