第1关:打印右下三角
任务描述
设计一个程序,打印出由星号(*)组成的右下三角形图案。
相关知识
右下三角形是指在输出的二维图形中,星号主要集中在每一行的右侧下方区域。对于一个n行的右下三角,第1行输出1个星号,第2行输出2个星号,依此类推,最后一行输出n个星号。每行星号前需要用空格填充,以实现“靠右对齐”的视觉效果。通过控制每行输出的空格数和星号数,可以构造出该图形。
编程要求
编写程序,接收一个正整数n作为输入,代表三角形的行数。然后使用嵌套循环结构,按规则逐行输出由星号和空格组成的右下三角形。每行先输出适当数量的空格,再输出递增数量的星号,确保整体呈现右下三角形状。最终输出结果应清晰可见该三角结构。
n = int(input()) # 获取行数nfor i in range(1, n + 1): # 外循环控制行数,从1到n for j in range(1, n - i + 1): # 内循环1:输出星号前空格,每行空格数为n-i print(" ", end="") for k in range(1, i + 1): # 内循环2:输出星号,每行星号数为i print("*", end="") print() # 每行结束后换行第2关:计算向量内积
任务描述
设计一个程序,能够根据用户输入的参数打印出一个由星号(*)组成的梯形图案。
相关知识
在控制台中打印图形时,通常使用循环结构来控制行和列的输出。梯形的特点是每一行的字符数量逐渐增加,并且需要对齐显示为梯形形状。通过控制每行星号的数量以及前面的空格数量,可以实现梯形的左右对齐效果。可以使用for循环嵌套,外层循环控制行数,内层循环分别控制空格和星号的输出。
编程要求
编写一个程序,要求用户输入梯形的上底长度、下底长度和高度。程序根据这些参数打印一个由星号构成的梯形,确保每行的星号数从上底开始逐行递增至下底,同时整体居中对齐显示。要求输入参数合法,若输入不符合逻辑(如下底小于上底、高度不足等),需提示错误并终止程序。
n = int(input()) #输入上底宽度及高度if n <= 2: print("输入错误")else: top = n #设定上底宽度 for i in range(1, n + 1): #循环高度 spaces = n - i print(' ' * spaces, end='') stars = top + 2 * (i - 1) print('*' * stars)第3关:求给定范围内素数的个数
任务描述
编写一个程序,输入两个正整数 m 和 n(1 ≤ m ≤ n ≤ 500),统计并输出 m 到 n 之间所有素数的个数以及这些素数的总和。要求通过定义函数 prime(m) 来判断一个数是否为素数,并在主程序中调用该函数完成判断。
相关知识
素数是指大于1且只能被1和自身整除的自然数。最小的素数是2。判断一个数是否为素数时,可以检查从2到该数的平方根之间的所有整数是否能被其整除。若都不能整除,则该数为素数。在程序中,需要使用循环结构遍历 m 到 n 的每一个数,并对每个数调用 prime() 函数进行判断。如果 prime() 返回真值,则将该数计入素数个数并累加到总和中。
编程要求
1、定义函数 prime(m),该函数接收一个整数 m 作为参数,判断其是否为素数: ·若 m 是素数,返回 True; ·否则返回 False。 ·注意处理 m < 2 的情况,此时应返回 False。 2、主程序中输入两个正整数 m 和 n。 3、使用循环遍历从 m 到 n(包含 m 和 n)的所有整数。 4、对每个整数调用 prime() 函数判断是否为素数。 5、统计素数的个数,并计算所有素数的和。 6、输出素数的个数及它们的和,格式清晰明确。
def prime(n): if n <= 1: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return Truem,n=eval(input())count=0result=0for i in range(m,n+1): if prime(i): count+=1 result+=iprint(count)第4关:求给定范围内素数的个数
任务描述
某部队在执行一项战术计算任务,需要通过编程模拟“火力单元累进打击强度”的计算:每个打击阶段 i(从第1阶段到第10阶段),其火力输出值为 i!(i的阶乘),表示战斗力呈指数增长。要求编写程序,计算前10个阶段的总打击强度(即1! + 2! + … + 10!),并将结果以精确到6位小数的形式上报指挥系统。
相关知识
在现代军事模拟系统中,常使用数学模型量化作战效能。本题模拟的是一个虚构的“阶乘型火力增强模型”,每阶段的打击力为对应阶段号的阶乘值。阶乘运算可通过函数封装实现,提升代码模块化程度,便于后续扩展至更多作战单元或战场场景。由于数值较小(最大到10!),可安全使用 long long 类型存储单个阶乘和总和。最终结果需按指挥系统数据格式要求,以保留6位小数的浮点形式输出。
编程要求
定义一个函数 long long factorial(int n),用于计算并返回第 n 阶段的火力值(即 n 的阶乘)。主程序中,模拟指挥系统对10个打击阶段进行火力汇总:使用循环从1到10,依次调用 factorial(i) 获取各阶段火力值,并累加得到总打击强度,表示最终上报的综合战力评估值。
def longlongfactorial(n): result=1 if n == 0: result=1 else: for i in range(1, n + 1): result *= i return resultresult=0for i in range(1,11): result+=longlongfactorial(i)print("{:.0f}".format(result))如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时



























