🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ فائقه نامور
حل مشکل زمان زیر ۱۰ ثانیه
جامعه هوش مصنوعی ایجاد شده در ۱۷ مرداد ۱۴۰۱

بعد از

        mins,secs=divmod(t,60)

اگر این کد را قرار دهیم مشکل حل می‌شود:

if(secs<10):
            secs='0'+''.join(str(secs))
if secs<=9:
  print(str(mins)," : ","0"+str(secs),end='\\r')
else: 
  print(str(mins)," : ",str(secs),end='\\r')


مرتضی کریم زاده ۲۲ مهر ۱۴۰۱، ۰۷:۳۸

میتونیم متغییر Timer را به شکل زیر بازنویسی کنیم:

timer = f'{mins}:{secs:0>2d}'
Saeed Ghafouri ۲۸ آبان ۱۴۰۱، ۱۸:۰۸

میتونید از تابع زیر استفاده کنید که علاوه بر حل مشکل ثانیه‌های زیر 10 ، مشکل دقیقه در ثانیه‌های بالا 600 رو هم حل میکنه، البته فک کنم بشه با re هم این مشکلارو هندل کرد که فعلا فرض اینه بلد نیستیم:

def counter(t):
    while t >= 0 :
        min , sec = divmod(t,60)
        if(min < 10) and (sec < 10):
            timer = '0' + str(min) + ' : 0' + str(sec)
        elif(min < 10) and (sec >= 10):
            timer = '0' + str(min) + ' : ' + str(sec)
        elif(sec < 10):
            timer = str(min) + ' : 0' + str(sec)  
        else:
            timer = str(min) + ' : ' + str(sec)
        print(timer , end = '\r')
        time.sleep(1)
        t = t - 1
محمد مهرورز ۰۸ آذر ۱۴۰۲، ۱۴:۲۹