1 سؤال: محاولة لبروز ، وسط ، و rjust الإخراج من ساعة توقيت

السؤال الذي تم إنشاؤه في Wed, May 8, 2019 12:00 AM

لدي برنامج ساعة توقيت يعمل بكامل طاقته. كل ما أحاول القيام به هو تنسيق الإخراج المطلوب محاذاته.

كان هذا مقطعًا من الشفرة قبل محاولة التعديل:

 lapTime = round(time.time() - lastTime, 2)
 totalTime = round(time.time() - startTime, 2)
 print ('Lap #%s: %s (%s)' % (lapNum, totalTime, lapTime), end='')

كانت هذه إحدى محاولات محاذاة الإخراج:

 print ('Lap ', lapNum.ljust(10, ' ')), ':',totalTime.center(20, ' '), 
 lapTime.rjust(30, ' '))

أتلقى الخطأ:

 File "D:/stopwatch2.py", line 19, in main
     print ('Lap ' + str(lapNum.ljust(10, ' ')), ':',totalTime.center(40, 
 ' '), lapTime.rjust(50, ' '))
 AttributeError: 'int' object has no attribute 'ljust'
    
- 1
  1. الخطأ قابل للقراءة إلى حد كبير. وقد نشرت رمزًا مختلفًا عن ما قمت بتشغيله.
    2019-05-08 16: 16: 50Z
    لى>
1 إجابات                              1                         

ljust و center هما طرق السلسلة. يجب عليك تحويل القيمة إلى سلاسل قبل الاتصال بهذه الطرق:

print ('Lap ', str(lapNum).ljust(10, ' '), ':', str(totalTime).center(20, ' '))

يمكنك أيضًا استخدام str.format و خيارات التنسيق :

print ('Lap {:<10}: {:=20}'.format(lapNum, totalTime))
# output: Lap 1         :           1557332386

باستخدام str.format ، يكون التحويل إلى سلسلة ضمنيًا.

    
1
2019-05-08 16: 15: 11Z
  1. يا رجل شكرا جزيلا لك! لقد حاولت تحويله إلى سلسلة ، ولكن مشكلتي كانت حرفيًا مجرد شكر!
    2019-05-08 16: 33: 32Z
    لى>
وضع مصدر هنا