2013-09-04 5 views
-1

사용자로부터 입력을 받아 변수에 저장하고 싶습니다 (k). 그런 다음이 kfor loop의 카운터로 사용하십시오.변수의 값을 파이썬에서 카운터로 사용하십시오. 3

while i<k:이 작동하지 않습니다! 코드 :

k= input('number of points:') 
p=[] 
i=0 
while i<k: 
x=float(input('Enter value=')) 
p.append(x) 
i=i+1 

출력 :

number of points:3 
Traceback (most recent call last): 
File "/home/ramupradip/tes.py", line 4, in <module> 
while i<k: 
TypeError: unorderable types: int() < str() 

나는 또한 나에게 오류 준 범위

for i in range(1,k) 

사용하여 시도 : 역 추적 (마지막으로 가장 최근 통화) : 파일을 "/ home/ramupradip/reflect.py ", 행 6, 범위 (1, k)의 경우 : TypeError : 'str'개체를 사용할 수 없습니다. 난 당신이 int에 수를 변환하는 것을 잊었다 생각 ...

k = int(input('enter counter: ')) 

, 그러나 당신이 관련 코드를 표시하지 않는 경우 이야기하는 것은 불가능 : 정수로 해석하는 것은

+2

무엇입니까? 그것 int인가요? Plz 당신이 받고 오류를 게시 –

+0

예. K는 정수입니다. – Superam

+0

"작동하지 않는다"는 의미를 설명하십시오. – OdraEncoded

답변

0

과 같이 입력을 읽기 . 그 외에는, 질문에 표시된 반복 구조가 잘 작동해야하지만, 첫 번째 파이썬 바람직하다 그냥 인덱스주의 : 동등하게

for i in range(1, k+1): 
    # do something 

:

i = 1 
while i <= k: 
    # do something 
    i += 1 
+1

감사합니다. :). 그것은 문제였던 'int'가 누락되었습니다. – Superam

0

하지 않습니다 어떤 의미가 있습니다. 이 작업을 할 수 :

k는 사용자와 i 설정 반복의 총 수는
for i in range(k): 
    ... 

0에서 k - 1로 전환되는 값입니다. 또는 당신이 원하는 수 : kx - 1-0에서 값과 사용자 입력이 아무것도 의미하지 않는다이다

for k in range(x): 
    ... 

. 또는 당신이 원하는 수 :

k는 사용자가 설정 한 시작 값입니다
for i in range(k, x): 
    ... 

, x이 프로그램에서 설정 한 값이며, ik에서 시작하는 값이며, x - 1

페이지에 종료 자세한 내용은 설명서를 참조하십시오 http://docs.python.org/3/library/functions.html#func-range

+0

'i'의 시작 값을 변경하려고합니다. 이것은 질문의 코드와 동일하지 않습니다.OP가'k '회 반복하는 것에 관심이있을 수도 있습니다 (현재의 질문 만 보면 알 수 없습니다).하지만'i'를 사용할 경우 예상 시작 값은'1 '입니다. 질문에 따라 –

관련 문제