赞
踩
目录
第十届 青少组python蓝桥杯国赛真题
读入一个半角英文字符和一个2-19之间的数值,用输入的字符构成高为输入数值的不填充等腰三角形
输入描述:
第一行:用语构成不填充等腰三角形的一个半角英文字符
第二行:等腰三角形的高,范围在2-19之间
输出描述:
按照题意输出的等腰三角形
输入样例:
$
6
输出样例:
- $
- $ $
- $ $
- $ $
- $ $
- $$$$$$$$$$$
10分:能至少一次用读入的半角英文字符进行暑促,而不论输出字符的数量和构成的形状是否符合题意
30分:至少对一个评判用例,能输出高度符合输入要求的形状,虽然构成的形状不完全符合题目要求
6分:完全符合题意,即所有评判用例的输出均正确
1、从题目以及给定的输出样例中可以分析得出需要从键盘获取两个数值
2、第一个是对应组成三角形的符号,第二个是对应三角形的高
3、从给定的输出样例可以分析得出,输入的个数,刚好就是对应的行数
4、而每一行的输出形式都是由空字符加上输入的符号组成
5、第一行和最后一行比较特殊,所以可以单独设置,第一行由行数减1的空字符加上对应符号组成,最后一行由输入的符号组成,具体个数为:行数乘以2加上1
6、中间行输出的规律是:由总的行数减去对应行号减1个空字符,加上输入符号,再加上对应行号乘以2减1个空字符,再加上输入符号组成;例如:输入的高度是6,第3行,行号就是2,输出的就是6-2-1=3个空字符加上一个符号,再加上2*2-1=3个空字符,最后加上符号
7、输出的结果都是字符,所以采用字符串操作相对而言比较方便
- ch = input("请输入半角英文符号:")
- num = int(input("请输入一个2-19之间的数:"))
- for i in range(num):
- if i == 0:
- print(' '*(num-i-1) + ch)
- elif i == num-1:
- print(ch*(2*i+1))
- else:
- print(' '*(num-i-1) + ch + ' '*(i*2-1) + ch)
- 请输入半角英文符号:$
- 请输入一个2-19之间的数:6
- $
- $ $
- $ $
- $ $
- $ $
- $$$$$$$$$$$
-
-
-
- 请输入半角英文符号:*
- 请输入一个2-19之间的数:8
- *
- * *
- * *
- * *
- * *
- * *
- * *
- ***************
难度级别:中等,这题相对而言还是有一点小难度,难在图形的分析拆解,具体主要考查如下:
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。