함수실행
조회수 435회
a = float(input("소요량을 입력하세요: "))
c = float(input("환산계수를 입력하세요: "))
def ZEB():
n = print(a * c)
if n < 80:
print(" 등급은 A 입니다.")
elif 80 <= n < 140:
print("등급은 B 입니다.")
elif n >= 140:
print("조건에 맞지 않습니다.")
else:
라고 코드를 짰는데 a와 c까지는 계산이 되는데 그 다음 함수 부분부터 실행이 되지 않습니다.
오류가 뜨는 것은 아닌데 Remote Python engine is active
밖에 뜨지 않습니다. 혹시 제가 무엇을 잘못했는지, 어느 부분을 놓쳤는지 알려주실 수 있을까요 ?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
"Remote Python engine is active" 오류에 대해서는 잘 모르겠고 문법적으로만 검사해 보겠습니다.
# 문법 틀림 # 굳이 할거라면 elif 80 <= n and n < 140 형태로 써야 함 elif 80 <= n < 140: print("등급은 B 입니다.") elif n >= 140: print("조건에 맞지 않습니다.") else: # 여기서 뭔가 처리가 있어야 하는데 없으니까 문제가 생기는 것일 수 있음
위 코드를 아래 코드로 교체하고 다시 해보시겠어요?
# 그나저나 여기서 n >= 80 체크는 불필요 # (이 부분이 실행된다는 건 n < 80이 아니라는 뜻임 그게 elif 임) elif n < 140: print("등급은 B 입니다.") # 같은 원리로 n >= 140을 확인할 필요가 없음 # n을 검사하는 임계값이 2개뿐이므로 (80, 140) '그밖의 모든 경우' 개념으로 처리 가능 else: # else 블록 아래에 뭔가 처리를 넣어준다 # 이걸로 문제가 해결되면 다행 print("조건에 맞지 않습니다.")
- 교체하고 하였는데 실행이 되지 않습니다 소요량을 입력하세요: 100.5 환산계수를 입력하세요: 2.75 >>> 라고 a와 c까지만 실행이 됩니다. a에 100.5라는 값과 c에 2.75라는 값을 넣을 건데 실수라서 문제가 되는걸까요? 알 수 없는 사용자 2021.6.16 13:52
- @j4826: 함수를 정의만하고, 호출하는 부분의 코드가 없는데 이것이 문제일까요? nowp 2021.6.16 14:50
-
a = float(input("소요량을 입력하세요: ")) c = float(input("환산계수를 입력하세요: ")) def ZEB(): n = a * c print(n) if n < 80: print(" 등급은 A 입니다.") elif 80 <= n < 140: print("등급은 B 입니다.") elif n >= 140: print("조건에 맞지 않습니다.") ZEB()
print(a*c)는 int가 아니라 NoneType이므로 if로 비교가 안됩니다. 따라서, 위와 같이 a*c를 n에 대입해 주시면 해결이 됩니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력