2014-09-14 1 views
-2

저는 프로그래밍에 익숙하지 않고 6 개의 행과 5 개의 행, 6 개의 다른 행 등이있는 "별"의 사각형을 만드는 데 필요한 할당이 있습니다. 중첩 된 루프를 사용해야하지만 첫 번째 줄을 지나칠 수는 없습니다.별표의 파이썬 사각형?

def main(): 
    # Setup accumulator and variable 

    rows = 0 
    stars = 0 

    # Get user inputs 
    rows = int(input("How many rows for this design?\n")) 
    stars = int(input("How many stars on the first row?\n")) 

    # Print i 
    for i in range(stars): 
     print("*", end="") 
     break 

번째 시도 :

데프 주() : 내가 제대로 이해하면

# Get user inputs 
rows = int(input("How many rows for this design?\n")) 
stars = int(input("How many stars on the first row?\n")) 

# Print i 
for i in range(stars): 
    for j in range(rows): 
     print(stars*"*")   
     print(rows*"*") 
     break 
+1

가능한 중복과 같습니다 http://stackoverflow.com/questions/22845796/python-3-hollow-rectangle – poke

+0

당신이 할 수 주어진 입력이나 행과 별에 대해 기대할 수있는 결과를 보여 주겠습니까? "별표의 직사각형"이 의미하는 바가 "6 행 이하, 5 행, 6 행"이라고 말할 때 분명하지 않습니다. –

+0

입력 행 "6"에 대한 행 다음에 "5"별표가 9 번 반복되는 별표 행 : def main() : # 사용자 입력 가져 오기 행 = int ("얼마나 많은 ? 범위 내가이 디자인에 대한 행 \ n ")) 별 = INT (입력 ("몇 개의 별 첫 번째 행에 \ n ")) # 인쇄 나에게 (별) : 범위 J에 대한 휴식 – corvette1

답변

1

, 당신이 사용할 수있는 modulostars-1을 대체하려면 여기를 내가 지금까지 무엇을 가지고 출력 :

rows = int(input("How many rows for this design?\n")) 
stars = int(input("How many stars on the first row?\n")) 

for i in range(rows): 
    if i % 2 == 0: 
     print(stars * "*") 
    else: 
     print ((stars-1) * "*") 

9 행 및 6 계통 RS는 출력 : 각도 i에 대한

****** 
***** 
****** 
***** 
****** 
***** 
****** 
***** 
****** 

if i % 2 == 0: 출력됩니다 (6) 별 다른 우리는 stars-1 별을 인쇄합니다.

루프 중첩을 사용

이 나에게 사각형처럼 많은 소리가 나지 않는다

for i in range(rows): 
    s = "" 
    for j in range(stars): 
     s += "*" 
    if i % 2 == 0: 
     print(s) 
    else: 
     print(s[:-1]) 
+0

예! 고맙습니다! – corvette1

+0

반갑습니다. –

+0

한 가지 더 질문 : "중첩 된"루프를 사용하는 것으로 간주됩니까? – corvette1

0

,하지만 난 이런 짓을 했을까하는 방식에 따라 각 행의 길이를 선택하는 조건식을 사용하는 것입니다 행 수를 2로 나눌 때 나머지로

그것은이

rows = int(input("Number of rows for this design: ")) 
stars = int(input("Number of stars on the first row: ")) 

for row in range(rows): 
    len = stars if row % 2 == 0 else stars - 1 
    print '*' * len 

출력

Number of rows for this design: 9 
Number of stars on the first row: 6 
****** 
***** 
****** 
***** 
****** 
***** 
****** 
***** 
****** 
+0

행 % 2 == 0이면 'len = 별'else stars - 1 '은 코르벳 1의 학습 곡선의이 단계에서 너무 하이테크입니다. 그러나 xrange (y)에서 i에 대해 print ('\ n'.join ([row [: xi % 2])는 x = 6; y = 9; row = x * '* ]))':) –

+0

예, 처음 프로그래밍. 그래도 감사합니다. – corvette1

관련 문제