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