도움이 필요합니다. for 루프에서 소수 자릿수를 사용하려고하지만 코드에서 수레가 허용되지 않고 다음에해야 할 일을 잘 모릅니다. 아무도 내가 잘못한 곳을 지적 할 수 있습니까?for for 루프에서 float 숫자를 사용할 수 있습니까?
사용자가 정의한 섭씨 (화씨)로 화씨 (섭씨)로 변환하는 데 사용되는 코드입니다. 여기있다 :
이 프로그램은 사용자의 입력에 따라 화씨도 섭씨 학위의 범위를 변환합니다 :
def main():
# Handshake
print("This program will convert a range of Celsius degrees to")
print("Fahrenheit degrees based on your input.")
# Ask and read low end of range
Rangelow = eval(input("Enter the low end of your range: "))
# Ask and read top end of range
Rangehigh = 1 + eval(input("Enter the high end of your range: "))
# Ask and read Delta
Delta = eval(input("Enter the Delta for your range: "))
#Display output
print("Celsius to Fahrenheit by", Delta)
for i in range(Rangelow, Rangehigh, Delta):
print(i, " ", 9/5 * i + 32)
main()
이 무슨 뜻인지의 예입니다. 당신의 범위의 하한을 입력 : 14.7이 당신의 범위의 델타를 입력 : 1.1 역 추적하여 화씨 1.1 섭씨 (마지막으로 가장 최근 통화) : 파일 "C : 3.8 이 범위의 하이 엔드를 입력 \ 메인에있는 의 파일 "C : \ Users \ jarre \ Desktop \ Python Programs \ Conversion.py"파일 (줄 22) 의 사용자 \ jarre \ Desktop \ Python 프로그램 \ Conversion.py " TypeError : 'float'객체를 정수로 해석 할 수 없습니다.
이 문제는 입력과 관련이있는 것처럼 보일뿐 출력에 문제가 없음을 유의해야합니다 (예 : Rangelow, Rangehigh + 1, Delta). 십진법 후 입력이 변환되었습니다.
"내 코드는 수레를 허용하지 않습니다"라고 할 때, 그 의미는 무엇입니까? 역 추적이있는 경우 질문을 편집하여 추가하십시오. – Gerrat
문서 체크 아웃 : https : //docs.python.org/2/library/functions.html ...'인수는 일반 정수 여야합니다 .' – blacksite
사이드 노트 : 사용자에게 'eval'을 사용하지 마십시오. 제공 입력. 'float'을 원하면'eval' 대신에'float'을 사용하십시오. 'int' 또는'float' (또는 파이썬 리터럴)을 허용하려면 ['ast.literal_eval'] (https://docs.python.org/3/library/ast.html#ast. literal_eval). 임의의 코드를 실행하지 않고도 임의의 파이썬 리터럴을 안전하게 처리 할 수 있습니다. 역 추적 (마지막으로 가장 최근 통화) : – ShadowRanger