โปรแกรม Delay Time บนภาษาไพทอน

ผมพยายามทดลองเรียกใช้ module หน่วงเวลา time.sleep() ในภาษาไพทอนอยู่หลายรอบก็ไม่สำเร็จสักที หากเป็นโปรแกรมสั้นๆก็เรียกใช้ได้ปรกติ โดยไม่มีข้อผิดพลาดอะไร แต่พอโปรแกรมมีความซับซ้อนเพิ่มขึ้นกลับเรียกใช้งานไม่ได้ มีข้อผิดพลาดตามตัวอย่างด้านล่าง

Traceback (most recent call last):
File "C:/Python/stock-signal.py", line 58, in <module>
time.sleep(5)
AttributeError: 'str' object has no attribute 'sleep'

ซึ่งในที่สุดก็ต้องเขียนโปรแกรมหน่วงเวลาขึ้นมาใช้เองรายละเอียดโปรแกรม delay-time.py มีดังนี้

#!/usr/bin/env python3

from datetime import datetime

delay = 5
now = datetime.now()
start = now.strftime("%S")
print('Start time = ' + start)
print('Please wait for delay ' + str(delay) + ' sec.')
while True:
    now = datetime.now()
    sec = now.strftime("%S")
    if int(sec) >= int(start)+delay:
        break
print('Stop time = ' + sec)

ค่าหน่วงเวลามีหน่วยเป็นวินาทีกำหนดค่าไว้ที่บรรทัดที่ 5 ในบรรทัดที่ 6 เป็นการดึงค่าเวลาปัจจุบันมาเก็บไว้ที่ตัวแปล now จากนั้นดึงค่าวินาทีปัจจุบันมาไว้ที่ตัวแปร start ในบรรทัดที่ 7 เรียบร้อยแล้วก็วนลูปเช็คค่าวินาทีปัจจุบันว่าตรงกับค่าที่เรากำหนดหน่วงเวลาไว้หรือยัง? ในบรรทัดที่ 10-14 ซึ่งผลลัพธ์ของโปรแกรมจะแสดงผลดังนี้

Leave a Reply

Your email address will not be published. Required fields are marked *