【问题标题】:How can i make it draw a rectangle with dots?我怎样才能让它画一个带点的矩形?
【发布时间】:2015-03-29 21:18:09
【问题描述】:

在寻找答案 2 小时后,我放弃了。现在我得到点线,但我希望它是一个矩形。我希望它打印用户输入长度和宽度的矩形。

print("Insert width:")
width_number= int(input())
print("Insert length:")
length_number = int(input())

for length in range(length_number):
    for width in range(width_number):
        print("* "* width, end="")
    print("* " * width)
    print()

预期输出:

**********
*        *
*        *
*        *
*        *
*        *
*        *
*        *
*        *
**********

【问题讨论】:

  • 您的问题到底是什么?输入、预期输出和实际输出是多少?你有任何错误吗?如果有,它们的全文是什么?请edit您的问题并将信息放入其中,否则可能会以“不清楚您在问什么”或“太宽泛”而关闭。
  • 除了“请输入代码”之外,您还没有问过其他问题。

标签: python python-3.x


【解决方案1】:

打印* 乘以开头和结尾的宽度。打印两个 "*" 宽度 - 2 倍之间的空格

print("*" * width_number)
for _ in range(length_number):
    print("*" + (" " * (width_number-2)+ "*") )
print("*" * width_number)

你也可以使用str.format:

print("*" * width_number)   
for _ in range(length_number):
    print("*{:^{fill}}*".format(" ",fill=width_number-2))
print("*" * width_number)


Insert width:
10
Insert length:
10
**********
*        *
*        *
*        *
*        *
*        *
*        *
*        *
*        *
*        *
*        *
**********

【讨论】:

  • 感谢您这么快地帮助我 :) 为我节省了很多时间 :)
  • @MihkelKull,不用担心,你可以通过循环获得更多创意,但这种方法非常简单。
【解决方案2】:

试试这个代码

print("Insert width:")
width_number= int(input())
print("Insert length:")
length_number = int(input())
print("* "*width_number)
for length in range(length_number - 2):
    print("* ", end="")
    for width in range(width_number - 2):
        print("  ", end="")
    print("* ")
print("* "*width_number)

如果你想在 * 之间有空格

【讨论】:

    猜你喜欢
    • 2015-02-23
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 2023-03-13
    • 1970-01-01
    • 2022-12-09
    相关资源
    最近更新 更多