import time
class Act():
def 시간지연(self,freezetime):
ft = freezetime
print(ft)
time.sleep(ft)
def do(x,xmove,ymove,freezetime):
if x == "클릭":
act.클릭()
if x == "드래그":
act.드래그(xmove,ymove)
if x =="시간지연":
act.시간지연(freezetime)
오류메세지 -> TypeError: an integer is required (got type str)
안녕하세요! 파이썬 초보입니다..... 아무리 찾고 뒤져봐도 모르겠어서 질문드려요
문제가 되는 코드만 골라서 따왔습니다..
time.sleep() 함수는 파라미터로 float 값을 가진다고 하는데 저는 변수 ft 에 float값을 넣어서 보냈습니다
print(ft) 가 제대로 작동하는 걸봐서 분명 ft는 float type 변수로서 잘 작동하는 걸 확인했는데
왜 sleep() 함수만 저런 문제가 생기는 걸까요??
혹시 몰라서 새 파일열고 다음과 같이 실험도 해서 변수를 파라미터에 넣어도 된다는 것도 확인했어요 ㅠㅠ
import pyautogui as py
import time
a=2
py.dragTo(100,100,2)
time.sleep(a)
py.dragTo(100,120,1)
py.moveTo()
도와주시면 감사하겠습니다 ㅠㅠ.. 하루종일 고민하고 있어요 ㅠㅠ
오류메세지에 답이 있구만 - dc App
초보라서.. 오류메세지 -> TypeError: an integer is required (got type str)
이게 string 타입을 넣어서 오류가 낫다는 뜻 아닌가요?
integer을 넣으래잖아 - dc App
integer 이 정수 아닌가요?? 변수에 정수 담아서 보내도 안되던데...
ft를 어디서 어떻게 선언했는지 모르겠는데 타입 체크를 해보셈. 근데 왜 print가 됐으니 float라고 생각하는거임? - dc App
성공했어요...ㅠㅠ 감사합니다.. 배워야할게 아직 많네요
print() 를써서 결과값이 말그대로 2나 3처럼 정수가 나오길래 당연히 정수라고 생각했는데.. 껍데기만 그런가봐요 ㅠㅠ
print하면 자동으로 string으로 바꿔주는데 숫자같은경우는 보통 눈에 보이는 그대로 타입만 string으로 바꿔서 출력해줌 구체적인 방식은 언어마다 다름 - dc App
넵!!
영어를 읽어봐
채소한 국글링은 해라 ㅅㅂ
하루종일했어요 ㅠ
형변환 해보든가
int()로 감싸면 integer 됨
그것도 해봤는데...안되네요..ㅠㅠ 포기해야하나봐요
어디서 int로 감쌌는데
time.sleep(int(ft))
time.sleep() 바로 윗줄에서 int(ft) 작성했어요
헉.. 시도해볼게요
그리고 do로 호출할때 어케 써서 str 갔는지 니가 코드를 숨기면 답변자가 궁예질해서 맞춰줘야 한단건데 무례한거임
성공했어요 ㅠㅠ 감사합니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
아.. 전 코드가 너무 길면 보기 불편하실까봐..그런거였는데 담부턴 조심할게여 ㅠㅠ
다음에 타입에러 나면 print(type(타입확인할변수))찍어서 확인해
넵!