pythonfor循环输出菱形图案_python-循环-打印菱形图案-Go语
⾔中⽂社区
⽬标
不允许使⽤居中的功能
通过⼀个循环,完成菱形的输出
主要考查,循环知识,和简单的规纳算法能⼒
需求为真正的php教程
⽤户输⼊⼀个奇数
这个数,⽣成⼀个菱形
先画出菱形图
为了推出菱形的⼀些规律
可以先画出三个菱形作为参考
寻规律
计算出左边⾏的公式
计算出每⼀⾏应出现的符号数
以7⾏为例
代码的框架
单循环
# 初步⽬标:完成五⾏的菱形
# 终级⽬标,任意奇数⾏的实现
# 中间⾏
mid_num = (5+1)/2 # 3
穿梭时空的侠客 小说
# i从0到4
def print_line(i):
"""
:param i: ⾏的索引。 第1⾏,i为0。第2⾏,i为1
:return:
"""
# 当传⼊的参数为0的时候,期望 有2个空格,1个符号
current_num = i + 1 # 当前⾏
space_num = get_space_num(current_num) # 空格的数量
start_num = get_start_num(current_num) # 星花的数据
space = " "*space_num # 应有的空格数
start = "*"*start_num # 星花应有的数量
# print(space+start)
print("当前第{}⾏,⾏索引{},有{}个左空格,有{}个星星".format(current_num, i, space_num, start_num)) def get_space_num(current_num):
"""根据⾏的索引,获取空格应有的数量"""
# mid_num - 当前⾏号
# 当i 为 0的时候,只需要返回2就可以了
# 当i 为1 的时候,返回1
# print(i)
num = mid_num - current_num
return int(abs(num))
def get_start_num(current_num):
"""根据当前的⾏号,返回应该输出⼏个星星"""
num = 0 # 输出星星的数量
return num
def main(num=5):
print("主逻辑,打印⾏数", num)
for i in range(num):
# print(i)
print_line(i)
if __name__ == '__main__':
main(5)
# print_line(0)
# res = get_space_num(5)
# print(res)
双层嵌套循环
def main(num):
# 计数器
counter = 0
# 中间⾏
mid_num = (num+1)/2java程序设计教程西安电子科技大学出版社
while counter < num:
counter += 1
# print(counter) # 打印⾏号
# 遍历打印每⼀⾏
js金额计算# 计算空格的数量
space_num = int(abs(mid_num-counter))
# 计算星星的数量excel中的rank函数
start_num = num - 2*space_num
# print("第{}⾏,{}空格,{}星星".format(counter, space_num, start_num)) # space_str = " "*space_num
python代码画图案inner_count = 0
start_str = "*"*start_num
# line_str = space_str+start_str
# print(line_str)
m = 0
while m < space_num:
print(" ", end="")
m += 1
n = 0
while n < start_num:
print("*", end="")
n += 1
print()
if __name__ == '__main__':
main(5)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论