프로그래밍

3일차 코딩배우는데... 돈줄게 알려줘

제목 길게 쓰면 안들어올거 같아서ㅠㅠ 말 짧게 썼어요 미안해요. 파이썬 혼자 독학해서 나름 다 만들었다구 생각했는데 창이 떴다 꺼져요. 조그맣지만 수정+꿀팁 주실분에게 5천원 혹은 커피 보내드릴게요ㅠㅠ 

 

주변에 프로그래머가 없어서 물어볼 분이 없어요ㅠㅠ 코린이에게 도움주실 천사분 댓글 달아주세요. 

 

파일이 안올라가는데 gpu 체크 자동 클릭(원래 클릭 안겹치게) 디스플레이와 작업표시줄별 계산+ 창 안보이게.. 이건데.. 왜 안먹는지ㅠㅠ

 

이쁘게 만들고 싶어서 이미지 뜨고 더블클릭해서 실행되게 만드는것도 실패했어요

----------------------------------------------------

import time
import psutil
import os
import pygame
import pyautogui

# 좌표 및 디스플레이 정보
coordinates_set1 = [
    {'click': (2383, 779), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1081}},
    {'click': (2383, 779), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1081}},
    {'click': (2383, 779), 'display_info': {'width': 2560, 'height': '1600', 'taskbar_height': 1081}},
    {'click': (2308, 1184), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 811}},
]

coordinates_set2 = [
    {'click': (1612, 552), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1232}},
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},
    {'click': (2176, 794), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1071}},
    {'click': (2190, 778), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1081}},
    {'click': (2190, 778), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1081}},
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}},
]

coordinates_set3 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}},  
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (1968, 788), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1075}10
    {'click': (2023, 785), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1077}10
    {'click': (2023, 785), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1077}10
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}},  
]

coordinates_set4 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (1803, 799), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1067}
    {'click': (1802, 799), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1067}
    {'click': (1802, 799), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1067}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}}, 
]

coordinates_set5 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (1623, 772), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1085}
    {'click': (1623, 772), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1085}
    {'click': (1623, 772), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1085}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}},  
]

coordinates_set6 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (1366, 791), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1073}
    {'click': (1366, 791), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1073}
    {'click': (1366, 791), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1073}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}},  
]

coordinates_set7 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (2386, 542), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1239}
    {'click': (2386, 542), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1239}
    {'click': (2386, 542), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1239}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}
]

coordinates_set8 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (2221, 532), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1245}
    {'click': (2221, 532), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1245}
    {'click': (2221, 532), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1245}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}},  
]

coordinates_set9 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (2019, 528), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1248}
    {'click': (2019, 528), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1248}
    {'click': (2019, 528), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1248}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}}, 
]

coordinates_set10 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (1809, 567), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1222}
    {'click': (1809, 567), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1222}
    {'click': (1803, 575), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1217}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}}, 
]

coordinates_set11 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (1592, 468), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1288}
    {'click': (1592, 468), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1288}
    {'click': (1592, 468), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1288}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}},  
]

coordinates_set12 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
    {'click': (445, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (943, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}},  
    {'click': (1441, 1235), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 777}}, 
    {'click': (1397, 484), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1277}
    {'click': (1397, 484), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1277}
    {'click': (1397, 484), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1277}
    {'click': (2208, 1188), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 808}
]

coordinates_set13 = [
    {'click': (1615, 557), 'display_info': {'width': 2560, 'height': 1600, 'taskbar_height': 1229}}, 
]


# Add coordinates for set 3, set 4, ..., set 12

# Add coordinates for set 13, set 14, ..., set 24

mp3_path_set1 = os.path.join("ANYMACRO", "song", "jjanggu_3sec.mp3")
mp3_path_set2 = os.path.join("ANYMACRO", "song", "yoasoibi_2min.mp3")
# You can change the mp3_path_set2 to the path of other mp3 files later

def check_gpu_usage():
    gpu_percent = psutil.cpu_percent(interval=1, percpu=False)
    return gpu_percent


# GPU 사용율 체크 함수
def check_gpu_and_play_mp3():
    # GPU 사용율 30초간 체크
    start_time = time.time()
    while time.time() - start_time < 30:
        gpu_percent = check_gpu_usage()
        print(f"GPU 사용율: {gpu_percent}%")

        # 50% 미만인 경우
        if gpu_percent < 50:
            print("GPU 사용율이 50% 미만입니다. 다음 단계로 넘어갑니다.")
            return

        # 50% 이상인 경우
        if gpu_percent >= 50:
            print("GPU 사용율이 50%를 넘습니다.")
            time.sleep(10)  # 10초 대기

            # 10초 후 재측정
            gpu_percent_after_10s = check_gpu_usage()
            if gpu_percent_after_10s >= 50:
                print("10초 후에도 GPU 사용율이 50%를 넘습니다.")

                # 50% 이상을 유지하는 경우
                start_time_50 = time.time()
                while time.time() - start_time_50 < 90:
                    gpu_percent_now = check_gpu_usage()
                    print(f"현재 GPU 사용율: {gpu_percent_now}%")
                    time.sleep(1)

                    # GPU 사용율이 10% 이하로 내려갔을 때
                    if gpu_percent_now <= 10:
                        print("GPU 사용율이 10% 이하로 내려갔습니다.")
                        time.sleep(90)  # 1분 30초 대기
                         play_mp3(os.path.join("ANYMACRO", "song", "jjanggu_3sec.mp3"))  # mp3 재생
                        return
            else:
                print("10초 후 GPU 사용율이 50%를 넘지 못했습니다.")
                return

def play_mp3(file_path):
    pygame.mixer.init()
    pygame.mixer.music.load(file_path)
    pygame.mixer.music.play()
    while pygame.mixer.music.get_busy():
        pygame.time.Clock().tick(10)

def click_coordinates_set(coordinates_set):
    for coord_info in coordinates_set:
        click_point = coord_info['click']
        display_info = coord_info['display_info']
        taskbar_height = display_info.get('taskbar_height', 0)

        # Adjust coordinates based on display information, taskbar height, and Windows scaling factor
        adjusted_click_point = (
            int(click_point[0] * display_info['width'] / 2560),
            int((click_point[1] + taskbar_height) * display_info['height'] / 1600)
        )

        # Click at adjusted coordinates
        pyautogui.click(adjusted_click_point)

def main():
    # 반복 실행
    for _ in range(12):
        # 좌표 4군데를 찍는다
        click_coordinates_set(coordinates_set1)

        # GPU 사용율 체크 함수
        def check_gpu_and_play_mp3():
            # GPU 사용율 30초간 체크
            start_time = time.time()
            while time.time() - start_time < 30:
                    gpu_percent = check_gpu_usage()
            print(f"GPU 사용율: {gpu_percent}%")

                # 50% 미만인 경우
                if gpu_percent < 50:
                    print("GPU 사용율이 50% 미만입니다. 다음 단계로 넘어갑니다.")
                    return

                # 50% 이상인 경우
                if gpu_percent >= 50:
                    print("GPU 사용율이 50%를 넘습니다.")
                    time.sleep(10)  # 10초 대기

                    # 10초 후 재측정
                    gpu_percent_after_10s = check_gpu_usage()
                    if gpu_percent_after_10s >= 50:
                        print("10초 후에도 GPU 사용율이 50%를 넘습니다.")

                        # 50% 이상을 유지하는 경우
                        start_time_50 = time.time()
                        while time.time() - start_time_50 < 90:
                            gpu_percent_now = check_gpu_usage()
                            print(f"현재 GPU 사용율: {gpu_percent_now}%")
                            time.sleep(1)

                             # GPU 사용율이 10% 이하로 내려갔을 때
                                if gpu_percent_now <= 10:
                                    print("GPU 사용율이 10% 이하로 내려갔습니다.")
                                    time.sleep(90)  # 1분 30초 대기
                                    play_mp3(os.path.join("ANYMACRO", "song", "jjanggu_3sec.mp3"))  # mp3 재생
                                    return
                else:
                    print("10초 후 GPU 사용율이 50%를 넘지 못했습니다.")
                    return

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set2)
       
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set3)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set4)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set5)
        
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set6)
        
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set7)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set8)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set9)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set10)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set11)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

        # 좌표 8군데를 찍는다
        click_coordinates_set(coordinates_set12)
        
        # GPU 사용율 체크 함수
        check_gpu_and_play_mp3()

    # 추가로 좌표 13까지 찍는다 (coordinates_set13 사용)  
    click_coordinates_set(coordinates_set13)
        
    # 13세트가 끝난 후 yoasoibi_2min.mp3 재생
    play_mp3(os.path.join("ANYMACRO", "song", "yoasoibi_2min.mp3")))

if __name__ == "__main__":
    main()
 

 

2개의 댓글

2024.01.20

import os

os.system('pause')

 

파이썬 콘솔창꺼짐 방지는 이거라는디

0
2024.01.21

3일자에 저정도라니 ㄷㄷ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
181009 [잡담] 2년 째 앱무무 쓰는데 버리고 독거미에 스위치 바꿔쓸까 고민... 당근이세요 0 17 분 전 7
181008 [잡담] 5090 FE는 커질까 작아질까? 2 GNStout 0 4 시간 전 90
181007 [잡담] 씨퓨야 왜이러는거니 6 함박눈 0 4 시간 전 65
181006 [견적] i5 9400f 에서 라이젠 7500f로 갈까 7600으로 갈까가 고민 5 갤럭시울리 0 5 시간 전 82
181005 [컴퓨터] 18TB HDD 선택. 외장 vs HDD에 도킹스테이션? 2 4man 0 5 시간 전 83
181004 [컴퓨터] 이거 뭐가문제같음 3 아기모코코에오 0 5 시간 전 45
181003 [컴퓨터] 전설의 타격감 키보드 화이트커피 0 5 시간 전 128
181002 [모바일] 베드사이드 태블릿 가성비 좋은거 추천좀 9 드웨인토마스 0 10 시간 전 117
181001 [컴퓨터] 네트워크 질문 7 너가전부옳아 0 10 시간 전 85
181000 [잡담] RTX3080 사왔당 13 빠빠양 2 11 시간 전 448
180999 [정보] 믹스오디오 1개월 무료 이용권 쿠폰 코드 공유합니다. beckysky 0 11 시간 전 60
180998 [컴퓨터] 컴퓨터 조립 후 메인보드 하얀 불 6 고끼리코추 0 12 시간 전 171
180997 [컴퓨터] 케이블타이 없는데 고무줄로 선정리 해도됌? 5 가스라이팅세계챔피언 0 12 시간 전 132
180996 [컴퓨터] 렘 질문좀요 11 rhrry123 0 12 시간 전 63
180995 [정보] 노트북 램 궁금해서 물어 봅니다. 컴알못임 ㅠ 4 이거할려고존버함 0 13 시간 전 76
180994 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 13 시간 전 129
180993 [잡담] 웨스톤 오디오 마하60 결국 지름 1 참잘했어요 0 14 시간 전 81
180992 [잡담] ㅈ소중에는 깃관리안되는회사가 있겠지 7 도의지구 0 14 시간 전 185
180991 [컴퓨터] 올블랙 PC 세팅하려고 하는데 1 올해의목표 0 14 시간 전 122
180990 [프로그래밍] leetcode 50일 달성 JimmyMcGill 0 14 시간 전 118