python - 使用嵌套的 For 循环制作颠倒模式
问题描述
我需要用一个函数制作一个模式,给定一个整数(n)将打印出一个大小为 n 的特定模式。它在 4 号时应该看起来像这样,例如:
!!!!!!!!!!!!!!
\\!!!!!!!!!!//
\\\\!!!!!!////
\\\\\\!!//////
到目前为止,这是我的代码。我不知道如何反转金字塔形状,也不知道如何让斜线与感叹号一起使用以创建所需的图案,如您所见:
def slashFigure():
width = int(input("Enter a number: "))
for i in range(0, width):
for j in range(0, width - i):
print("\\", end="")
for k in range (0, 2*i + 1):
print("!!", end="")
print("/")
slashFigure()
解决方案
你可以这样做:
def slashFigure(height, reverse):
for row in range(height)[::(1-int(reverse)*2)]:
print(''.join(['\\' for x in range(row*2)]+['!' for x in range(height*4-row*4-2)]+['/' for x in range(row*2)]))
height = int(input("Enter a number: "))
slashFigure(height, False)
slashFigure(height, True)
推荐阅读
- windows - 优雅地等待/关闭的脚本/windows 命令
- python - 为什么scrapy不调用该函数?
- javascript - 如何在 javascript 中播放铃声音频(无需用户交互)?
- java - 如何添加另一个链表对象
- c# - 如何在没有 ReSharper (C#) 的情况下在 Visual Studio 中设置用于提取局部变量的键盘快捷键?
- docker - Dockerfile:计算缓存键失败:“/nginx.conf”未找到:未找到
- msal - 如何使用 MSAL 获取访问令牌
- node.js - 如何使用 facebook-nodejs-business-sdk 将 CTA 添加到 adcreative?
- python - 如何为 Atom 设置 python-linter
- php - 如何使用 Codeigniter Rest Api 上传图像和元数据