如何用没有def功能的星号创建一个直角三角形?

时间:2015-10-06 06:29:48

标签: python python-3.x

到目前为止我所拥有的是:

base = int(input("Enter a value"))
for row in range(base):
    for colomb in range(row+1):
        print('*', end='')
        print()

2 个答案:

答案 0 :(得分:2)

你快到了。你只需要取消最后的for row in range(base): for colomb in range(row+1): print('*', end='') print() 。示例 -

Create FUNCTION [dbo].[fn_Split](@text varchar(8000), @delimiter varchar(20))
RETURNS @Strings TABLE
(   
  position int IDENTITY PRIMARY KEY,
  value varchar(8000)  
)
AS
BEGIN

DECLARE @index int
SET @index = -1

WHILE (LEN(@text) > 0)
  BEGIN 
    SET @index = CHARINDEX(@delimiter , @text) 
    IF (@index = 0) AND (LEN(@text) > 0) 
      BEGIN  
        INSERT INTO @Strings VALUES (@text)
          BREAK 
      END 
    IF (@index > 1) 
      BEGIN  
        INSERT INTO @Strings VALUES (LEFT(@text, @index - 1))  
        SET @text = RIGHT(@text, (LEN(@text) - @index)) 
      END 
    ELSE
      SET @text = RIGHT(@text, (LEN(@text) - @index))
    END
  RETURN
END


select t.StudentID,t.Name ,test.value
from  tablename t cross apply fn_Split(t.SubscribedSubject,',') as test

答案 1 :(得分:0)

Sharon的答案是使您可以使用的代码最快的解决方案,但您也可以通过打印(一次)整个字符串来减少for循环的运行。例如,"a" * 3"aaa",因此您可以这样做:

for row in range(1, base+1):  # now the range runs [1-base] instead of [0-base-1]
    print("*" * row)