這就是問題:半衰期是物質或物體下降到其原始價值一半所需的時間。咖啡因在人體中的半衰期約為 6 小時。給定咖啡因量(以 mg 為單位)作為輸入,輸出 6、12 和 24 小時后的咖啡因水平。使用帶有位置替換和轉換說明符的字串格式化運算式,將小時數輸出為整數,將咖啡因量輸出為小數點后 1 位的浮點數。
這是我的代碼:
mg = float(input('Please input the initial caffeine amount in mg: '))
mg /= 2
print('After 6 hours:','{:.1f}'.format(mg),'mg caffeine left')
mg /= 2
print('After 12 hours:','{:.1f}'.format(mg),'mg caffeine left')
mg /= 4
print('After 24 hours:','{:.1f}'.format(mg),'mg caffeine left')
我的代碼是否使用位置替換和轉換說明符?如果不是,我如何將這些概念合并到我的代碼中?
謝謝!
uj5u.com熱心網友回復:
mg = float(input('Please input the initial caffeine amount in mg: '))
mg /= 2
print(f'After 6 hours: {mg:.1f} mg caffeine left')
mg /= 2
print(f'After 12 hours: {mg:.1f} mg caffeine left')
mg /= 4
print(f'After 24 hours: {mg:.1f} mg caffeine left')
使用f-string:f"{value:format}"
uj5u.com熱心網友回復:
它確實已經使用了兩者,但是我認為如果您像這樣編輯它會更明顯和更具可讀性:
mg = float(input('Please input the initial caffeine amount in mg: '))
mg /= 2
print('After 6 hours: {:.1f} mg caffeine left'.format(mg))
mg /= 2
print('After 12 hours: {:.1f} mg caffeine left'.format(mg))
mg /= 4
print('After 24 hours: {:.1f} mg caffeine left'.format(mg))
甚至更好:
mg = float(input('Please input the initial caffeine amount in mg: '))
for t,i in zip([6,12,24], [2, 4, 16]):
print('After {:.0f} hours: {:.1f} mg caffeine left'.format(t, mg/i))
該str.format方法回傳字串的副本,其中每個{...}都替換為相應引數的字串值。
更詳細的解釋:https ://docs.python.org/3/library/stdtypes.html#str.format
uj5u.com熱心網友回復:
list我認為您可以使用存盤float值的 a 添加位置替換[10.0f, 5.0f, 2.5f],并且對于轉換,文本使用PEP格式,建議添加新的string格式化機制:文字字串插值。PEP,此類格式將被稱為“f-strings”,取自用于表示此類的前導字符string,并被定義為“格式化字串”。
格式說明符也可以包含計算運算式
>>> width = 10
>>> quantity = 4
>>> value = decimal.Decimal('12.34567')
>>> f'result: {value:{width}.{quantity}}'
'result: 12.35'
上面的例子只是一個簡單的演示,為表示任何物件(Coffe、Persons、Time)的不同變數格式化某些數值。
import datetime
dt = '2022-04-27 12:00:00'
dt = datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
mg = float(input('Please input the initial caffeine amount in mg: '))
for i in range(3):
mg /= 2
print('{1} {0:%d} {2} {0:%B} {3} {4}:{0:%M%p} {5}mg caffeine left'.format(dt, "day", "month", "hour", dt.hour*i, mg))
出去:
day 27 month April hour 00:00PM 2.5mg caffeine left
day 27 month April hour 12:00PM 1.25mg caffeine left
day 27 month April hour 24:00PM 0.625mg caffeine left
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/466210.html
標籤:Python
上一篇:如何從串列結果中洗掉/n?
