Python - 使用循环从列表中删除数据

时间:2017-04-30 12:46:37

标签: python

我正在制作一个为绘画室提供报价的程序,我正在尝试打印用户输入的数据。我需要打印为每个墙输入的尺寸,例如:

  • 墙1:5.0米x 3.0米
  • 墙2:8.0m x 3.0m
  • 墙3:5.0米x 3.0米
  • 墙4:8.0m x 3.0m

我需要根据输入的墙壁数量循环并打印一定次数,然后从列表中的每个位置打印数据。

我已经尝试了很多,在这一点上我的代码是一团糟,并没有意义,但这是我在显示它回到下面的地方。我不是那么先进的python。我认为缩进以及循环和打印都存在错误!请帮助。

clear = lambda: os.system ('cls')
clear()
print("Your Room details were entered as followed.")
print('')
print("Walls:", Walls)
for i in range (1,Walls):
    for x in (WallLengthArr):
        print(str("Wall", i + ":", x + "m x " + height + "m")

print("Windows:", Windows)
nextstage = input("You have completed stage 3, Press enter to continue...")
clear = lambda: os.system ('cls')
clear()

1 个答案:

答案 0 :(得分:0)

因此,您所拥有的代码存在一些问题,第一个问题是您缺少该行中的右括号:

print(str("Wall", i + ":", x + "m x " + height + "m")

第二个是您使用str()错误,但是这里根本不需要它,因为您只是尝试格式化字符串,而不是将其他类型转换为字符串。如果您真的坚持使用str,那么该行应如下所示:

print("Wall" + str(i) + ":" + str(x) + "m x " + str(height) + "m")

然而,更好和更Pythonic的方法是使用字符串格式化,所以一种解决方案是以这种方式写行:

print("Wall {0}: {1}m x {2}m".format(i,m,height))