[PYTHON] "정렬 할 수없는 유형 : int () <str ()"
PYTHON"정렬 할 수없는 유형 : int ()
파이썬에서 은퇴 계산기를 만들려고합니다. 문법에는 아무런 문제가 없지만 다음 프로그램을 실행할 때 :
def main():
print("Let me Retire Financial Calculator")
deposit = input("Please input annual deposit in dollars: $")
rate = input ("Please input annual rate in percentage: %")
time = input("How many years until retirement?")
x = 0
value = 0
while (x < time):
x = x + 1
value = (value * rate) + deposit
print("The value of your account after" +str(time) + "years will be $" + str(value))
그것은 저에게 그것을 말한다 :
Traceback (most recent call last):
File "/Users/myname/Documents/Let Me Retire.py", line 8, in <module>
while (x < time):
TypeError: unorderable types: int() < str()
내가 어떻게이 문제를 해결할 수 있을지 생각해?
해결법
-
==============================
1.여기서 문제는 input ()이 파이썬 3.x에서 문자열을 반환한다는 것입니다. 그래서 비교할 때 문자열과 정수를 비교하고 있습니다. 문자열이 단어이면 어떻게 될까요? 하나는 문자열과 숫자를 비교합니까?) -이 경우 Python은 추측하지 않고 오류를 던집니다.
여기서 문제는 input ()이 파이썬 3.x에서 문자열을 반환한다는 것입니다. 그래서 비교할 때 문자열과 정수를 비교하고 있습니다. 문자열이 단어이면 어떻게 될까요? 하나는 문자열과 숫자를 비교합니까?) -이 경우 Python은 추측하지 않고 오류를 던집니다.
이 문제를 해결하려면 int ()를 호출하여 문자열을 정수로 변환하십시오.
int(input(...))
메모로서 10 진수를 처리하려면 float () 또는 decimal.Decimal () 중 하나를 사용하는 것이 좋습니다 (정확도 및 속도 요구에 따라 다름).
while 루프와 카운팅에 반대되는 일련의 숫자에 대해 반복적으로 반복하는 python 방식은 range ()를 사용하는 것입니다. 예 :
def main():
print("Let me Retire Financial Calculator")
deposit = float(input("Please input annual deposit in dollars: $"))
rate = int(input ("Please input annual rate in percentage: %")) / 100
time = int(input("How many years until retirement?"))
value = 0
for x in range(1, time+1):
value = (value * rate) + deposit
print("The value of your account after" + str(x) + "years will be $" + str(value))
-
==============================
2.단지 부수적 인 점이 있습니다. 파이썬 2.0에서는 무엇이든 비교할 수 있습니다 (int를 문자열로 비교). 이것은 명시 적이지 않았기 때문에 3.0에서 변경되었습니다. 이는 서로간에 무의미한 값을 비교하거나 유형을 변환하는 것을 잊어 버릴 때 문제가되지 않으므로 좋은 것입니다.
단지 부수적 인 점이 있습니다. 파이썬 2.0에서는 무엇이든 비교할 수 있습니다 (int를 문자열로 비교). 이것은 명시 적이지 않았기 때문에 3.0에서 변경되었습니다. 이는 서로간에 무의미한 값을 비교하거나 유형을 변환하는 것을 잊어 버릴 때 문제가되지 않으므로 좋은 것입니다.
from https://stackoverflow.com/questions/14886881/unorderable-types-int-str by cc-by-sa and MIT license
파이썬에서 은퇴 계산기를 만들려고합니다. 문법에는 아무런 문제가 없지만 다음 프로그램을 실행할 때 :
def main():
print("Let me Retire Financial Calculator")
deposit = input("Please input annual deposit in dollars: $")
rate = input ("Please input annual rate in percentage: %")
time = input("How many years until retirement?")
x = 0
value = 0
while (x < time):
x = x + 1
value = (value * rate) + deposit
print("The value of your account after" +str(time) + "years will be $" + str(value))
그것은 저에게 그것을 말한다 :
Traceback (most recent call last):
File "/Users/myname/Documents/Let Me Retire.py", line 8, in <module>
while (x < time):
TypeError: unorderable types: int() < str()
내가 어떻게이 문제를 해결할 수 있을지 생각해?
해결법
-
==============================
1.여기서 문제는 input ()이 파이썬 3.x에서 문자열을 반환한다는 것입니다. 그래서 비교할 때 문자열과 정수를 비교하고 있습니다. 문자열이 단어이면 어떻게 될까요? 하나는 문자열과 숫자를 비교합니까?) -이 경우 Python은 추측하지 않고 오류를 던집니다.
여기서 문제는 input ()이 파이썬 3.x에서 문자열을 반환한다는 것입니다. 그래서 비교할 때 문자열과 정수를 비교하고 있습니다. 문자열이 단어이면 어떻게 될까요? 하나는 문자열과 숫자를 비교합니까?) -이 경우 Python은 추측하지 않고 오류를 던집니다.
이 문제를 해결하려면 int ()를 호출하여 문자열을 정수로 변환하십시오.
int(input(...))
메모로서 10 진수를 처리하려면 float () 또는 decimal.Decimal () 중 하나를 사용하는 것이 좋습니다 (정확도 및 속도 요구에 따라 다름).
while 루프와 카운팅에 반대되는 일련의 숫자에 대해 반복적으로 반복하는 python 방식은 range ()를 사용하는 것입니다. 예 :
def main(): print("Let me Retire Financial Calculator") deposit = float(input("Please input annual deposit in dollars: $")) rate = int(input ("Please input annual rate in percentage: %")) / 100 time = int(input("How many years until retirement?")) value = 0 for x in range(1, time+1): value = (value * rate) + deposit print("The value of your account after" + str(x) + "years will be $" + str(value))
-
==============================
2.단지 부수적 인 점이 있습니다. 파이썬 2.0에서는 무엇이든 비교할 수 있습니다 (int를 문자열로 비교). 이것은 명시 적이지 않았기 때문에 3.0에서 변경되었습니다. 이는 서로간에 무의미한 값을 비교하거나 유형을 변환하는 것을 잊어 버릴 때 문제가되지 않으므로 좋은 것입니다.
단지 부수적 인 점이 있습니다. 파이썬 2.0에서는 무엇이든 비교할 수 있습니다 (int를 문자열로 비교). 이것은 명시 적이지 않았기 때문에 3.0에서 변경되었습니다. 이는 서로간에 무의미한 값을 비교하거나 유형을 변환하는 것을 잊어 버릴 때 문제가되지 않으므로 좋은 것입니다.
from https://stackoverflow.com/questions/14886881/unorderable-types-int-str by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 개체가 파이썬에서 가비지 수집되는시기는 언제입니까? (0) | 2018.10.09 |
---|---|
[PYTHON] Python : URLError : <urlopen 오류 [Errno 10060] (0) | 2018.10.08 |
[PYTHON] 파이썬에 나열 할 문자열 (0) | 2018.10.08 |
[PYTHON] 내장 함수와 이름 충돌 (0) | 2018.10.08 |
[PYTHON] 파이썬 3 : 라인을 읽을 때의 EOF (숭고한 텍스트 2는 화가났다) (0) | 2018.10.08 |