2016-07-06 3 views
0

시퀀스 패턴을 만들고 싶습니다. 예를 들어 숫자 1, 2, 3이 있습니다.
1은 첫 번째 패턴이고 2은 두 번째이며 3은 세 번째 패턴입니다.정수 패턴을 만드는 방법은 무엇입니까?

# Assign all patterns. 
First = 1 
Second = 2 
Third = 3 


# Make a loop 
for x in xrange(1, 100): 
    print(Second) 

이것은 단순히 두 번째 인쇄 것입니다,하지만 난이 모든 2 정수 후 번호를 인쇄 할.

그래서 예를 들면 :

1 
2 - This is pattern 2 
3 
4 - This is pattern 2 
5 
6 - This is pattern 2 
7 
... 

어떻게 내가이 순서를 달성 할 수 있을까? 그래서 나는 정수 2과 같은 루프 내에서 정수 패턴을 만들 수 있고 모든 2 정수 이후에 pattern2 정수가 반환 된 것을 출력한다.

답변

2

xrange에는 단계 매개 변수가 있습니다. documentation을 참조하십시오.

for x in xrange(1, 100, 2): 
    print(Second) 

은 연속적 패턴 1, 2, 3을 인쇄하려면 :

patterns = [First, Second, Third] 
for x in xrange(1, 100): 
    print(patterns[x % 3]) 

에만 세 번째 인쇄하려면 :

for x in xrange(1, 100): 
    if x % 3 == 0: 
     print(Third) 
+0

감사합니다. 더 많은 인수를 추가 할 수 있습니까? 그래서 나는 2 단계를 할 수있다. (xrange in (x, 1, 100, 2, 3)) : – ShellRox

+0

두 단계로 무엇을 의미하는지 확신이 서지 않습니다 ...'xrange'는 step 인수로 하나의 정수만 필요합니다. –

+0

@ShellRox 그게 무슨 뜻입니까? 값을 '2'씩 늘리고 '3'을 다른 값으로 늘리시겠습니까? 수동으로해야합니다. – Bakuriu

2

을 당신은이 같은 modulo operator(%)와 함께 if statement을 추가해야합니다

# Assign all patterns. 
First = 1 
Second = 2 
Third = 3 


# Make a loop 
for x in xrange(1, 100): 
    print x 
    if x % 2 == 0: 
     print(Second) 
+0

고마워! 여기에 단지 2 개의 패턴이 있습니다.'1'과'2'는 3을 할당 할 수 있습니까? – ShellRox

+0

무엇을 의미합니까? 각 3 단계에서 3을 인쇄하고 싶습니까? 'x % 3 == 0 '을 추가해야합니다. – Navid777

+0

시도했지만 3 단계가 있다는 것을 프로그램에서 알지 못합니다. 어떻게 할당 할 수 있습니까? – ShellRox

관련 문제