Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中创建直角三角形的嵌套循环代码_Python_Loops_Nested_Geometry - Fatal编程技术网

在Python中创建直角三角形的嵌套循环代码

在Python中创建直角三角形的嵌套循环代码,python,loops,nested,geometry,Python,Loops,Nested,Geometry,教授给了我们一个执行正方形的简单代码,我们需要添加/更改代码以输出直角三角形形状,如下所示。这只是循环代码中的一个简单循环,但是如果代码看起来非常混乱/困难,我在任何地方都找不到使用Python创建形状的提示或帮助。我需要一个简单的解释做什么,为什么我需要作出这些改变 (用Python创建直角三角形的嵌套循环代码) 执行正方形的给定代码: 画正方形 再一次,只是一个简单的代码解释,这是Python课程的介绍。只需更改,而col以下是一些代码: size = int(raw_input("Ente

教授给了我们一个执行正方形的简单代码,我们需要添加/更改代码以输出直角三角形形状,如下所示。这只是循环代码中的一个简单循环,但是如果代码看起来非常混乱/困难,我在任何地方都找不到使用Python创建形状的提示或帮助。我需要一个简单的解释做什么,为什么我需要作出这些改变

(用Python创建直角三角形的嵌套循环代码)

执行正方形的给定代码:

画正方形
再一次,只是一个简单的代码解释,这是Python课程的介绍。

只需更改
,而col以下是一些代码:

size = int(raw_input("Enter the size: ")) #Instead of input, 
#convert it to integer!
char = raw_input("Enter the character to draw: ")
for i in range(1, size+1):
    print char*i #on the first iteration, prints 1 'x'
    #on the second iteration, prints 2 'x', and so on
结果:

>>> char = raw_input("Enter the character to draw: ")
Enter the character to draw: x
>>> size = int(raw_input("Enter the size: "))
Enter the size: 10
>>> for i in range(1, size+1):
        print char*i


x
xx
xxx
xxxx
xxxxx
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx
xxxxxxxxxx
另外,避免在Python2中使用
input
,因为它会计算作为代码传递的字符串,这是不安全的,也是一种不好的做法


希望这有帮助

您只需使用以下方法即可获得:

size = input('Please enter the size: ')
chr  = raw_input('Please enter the drawing character: ')
i=0
str =''
while i< size:
        str = str +' '+ chr
        print str
        i=i+1
size=input('请输入大小:')
chr=原始输入('请输入绘图字符:')
i=0
str=''
而我的尺寸:
str=str+''+chr
打印str
i=i+1
输出:

**********
*********
********
*******
******
*****
****
***
**
*
代码:

输出:

* * * * * * * * *
   * * * * * * *
     * * * * *
       * * * 
         *
  • 定义数组
  • 首先开始循环,逐个初始化变量j中数组的值
  • 启动第二个(嵌套)循环以初始化变量k中变量j的ranje
  • 循环先结束,初始化数组的编号打印*
  • 范围(1,8)内的i的
    :
    stars=“”
    对于范围内的星号(1,i+1):
    星星+=“x”
    印刷品(星号)
    
    输出:

    * * * * * * * * *
       * * * * * * *
         * * * * *
           * * * 
             *
    
    x
    x x
    x x x
    x x x x
    x x x x
    x x x x x
    x x x x x x
    
    太好了,谢谢。到目前为止,我在网上找到的所有困难的例子,我都不认为它会那么简单。我没有意识到这一点。我会尽量记住这一点,但到目前为止,我所学到的只是使用输入。你的教授可能不认为这是一件重要的事情,但在实际应用中,这可能是至关重要的。你能试着解释一下你的答案吗?如果能在这里看到一些解释就好了。虽然这段代码可能有助于解决这个问题,但它没有解释为什么和/或如何回答这个问题。提供这种额外的环境将大大提高其长期教育价值。请在回答中添加解释,包括适用的限制和假设。虽然此代码可能有助于解决问题,但它没有解释为什么和/或如何回答问题。提供这种额外的环境将大大提高其长期教育价值。请您的答案添加解释,包括适用的限制和假设。如果您希望通过in-for循环传递单个语句,您可以在一行中传递它,就像我对范围(10,0,-1)中的x所做的那样:打印x*“*”它使用我们在字符串中使用的操作,即*(字符串上的乘法运算符)执行重复。它可以很好地作为一行代码来打印反向直角三角形。虽然此代码可能有助于解决此问题,但它没有解释为什么和/或如何回答此问题。提供这种额外的环境将大大提高其长期教育价值。请在回答中添加解释,包括适用的限制和假设。如果您的代码确实有效,但您希望对其进行改进,则应将此问题迁移到;如果它不起作用,请说明您预期会发生什么,以及这与实际结果有何不同。请参阅,以获取关于什么是好的解释的提示。
    for x in range(10,0,-1):
      print x*"*"
    
    **********
    *********
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *
    
    def triangle(i, t=0):
        if i == 0:
            return 0
        else:
            print ' ' * ( t + 1 ) + '*' * ( i * 2 - 1 )
            return triangle( i - 1, t + 1 )
    triangle(5)
    
    * * * * * * * * *
       * * * * * * *
         * * * * *
           * * * 
             *
    
    values = [0,1,2,3]
    for j in values:
     for k in range (j):
      print "*",;
     print "*";