我怎么能清理这个图案绘图代码?

时间:2016-10-17 07:52:38

标签: python loops while-loop range

所以我试图绘制一个简单的模式,两种分开。应该看的方式是:

**........*
*.*.......*
*..*......*
*...*.....*
.........*
........*
.......*
......*

到目前为止,我已经完成了底部,但它根本不是很干净,它非常笨重,必须有一种方法可以使其平滑,并使其更快更简洁,最重要的是,我仍然需要弄清楚如何添加*,我有一些想法,但他们都失败了哈哈。

所以我现在所拥有的是:

    x = 8
while x > 4:
    for  c in range(0,1):
         print('*', end='')
         for r in range(0,10):
             print('.', end='')
         print('*')
         x = x-1

这是目前最重要的部分,它可以在句号的任何一侧获得*,但我的底部非常混乱,我认为必须有一种方法可以让它更快:

while x == 4:
    for c in range(0,9):
        print('.', end='')
    print('*')
    x = x-1
    while x == 3:
        for c in range(0,8):
            print('.', end='')
        print('*')
        x = x-1
        while x == 2:

它一直这样,直到         而x == 1: 就是这样,但是有没有办法将代码压缩成更快的东西,我究竟如何在前4行中添加* s?除了底线之外,我不是每个人都要求答案 - 只是朝着正确的方向前进,我更愿意学习而不仅仅是给出答案。

1 个答案:

答案 0 :(得分:0)

    String sourcePath = Convert.ToString(Dts.Variables["SourcePath"].Value);
    String namePart = Convert.ToString(Dts.Variables["NamePart"].Value);
    String destinationPath = Convert.ToString(Dts.Variables["DestinationPath"].Value);
    FileStream sourceFile = File.OpenRead(@sourcePath + namePart);
    FileStream destFile = File.Create(@destinationPath + namePart);

    GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);

    try
    {
        int theByte = sourceFile.ReadByte();
        while (theByte != -1)
        {
            compStream.WriteByte((byte)theByte);
            theByte = sourceFile.ReadByte();
        }
    }
    finally
    {
        compStream.Dispose();
        sourceFile.Close();
        destFile.Close();
        FileInfo currFileInfo = new FileInfo(@sourcePath + namePart);
        currFileInfo.Delete();

装置 '.'*6 (点六次)所以而不是

......

只是做

for c in range(0,9):
    print('.', end='')