2016-08-24 4 views
1

나는 파이썬에 새로운 해요, 그냥이 코드에 다양한 기능을 배울지고, 장난. 당신이 문자열을 인쇄 할 때 순간파이썬 3, 루프의 변수

less = ["science", "maths"] 

for i in range(0,len(less)): 
    a = ("You have got; " + (less[i])) 
    b = (a) 
    #By putting in print here I figured out that it added science first then maths overrides it. 
    print(b) 

print (b) 

을 (주 읽어 보시기 바랍니다) 지금은 말한다 :

는 "당신은 가지고있다; 수학"

그러나 내가 그것을 말하려고 노력했다 :

"당신은 가지고, 과학 수학"

기본적으로 변수에 추가하는 방법을 찾고 다른 하나를 재정의하지 않으므로 결국 인쇄 할 때 과학 및 수학을 모두 갖게됩니다. 나는이 목록의 길이를 가질 필요가 이유입니다 그것을 바탕으로 확장하기 위하여려고하고있다

루프 등이 목록에있는 개체를 통해 단순히 반복하고 print 문이 행을 종료 할 수 있습니다

+2

모든 반복에서'a'의 값을 무시하고 있습니다. 무엇을 기대 했습니까? 문자열을 연결하는 방법을 알고 있습니다. 확실히이 문자열을 알아낼 수 있습니까? –

+0

"알아낼 수있는"경우이 웹 사이트에는 아무런 의미가 없습니다. 두 가지 무의미한 의견. 후자는 누군가 파이썬으로 시작하기에 지나치게 복잡합니다. – d1ll1nger

답변

1

입니다 . 이를 위해

less = ["science", "maths"] 

print ("You have got; ", end="") 
for i in less: 
    print (i, end=" ") 
0

사용 join :

>>> less = ["science", "maths"] 
>>> print("You have got; %s" % ' '.join(less)) 
You have got; science maths 

설명 : join 당신이 당신의 요구 문자열의 끝에 추가 할 수 있습니다 하나의 string로 목록의 요소를 결합

+1

또는 문자열 연결을 피하고'print ('You have;', .join (less)) '를 사용하십시오. –

+0

문자열을 연결하지 않고 인쇄하도록하는 것이 왜 더 나은가? – syntonym

+0

내 대답을 확인하십시오 : http://stackoverflow.com/questions/39117991/python-3-variables-in-loops/39118066#39118066 그것은 문자열이 불변이고 다음 연결이 메모리에 새로운 객체를 생성하기 때문입니다. – turkus

1
less = ["science", "maths"] 
print ('You have got; {}'.format(' '.join(less)))