#26824: [Python]這題想像中還要難ww


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
d018. 字串讀取練習 | From: [1.172.244.91] | 發表日期 : 2021-08-26 16:41

前面分離字串、奇數偶數相加、相減都還OK,主要卡在最後一關,輸出整數不包含小數點、輸出浮點數又要不包含尾數的0

我以為使用Decimal就可以快速通關,但浮點數的尾數會包含不必要的零、過大的整數會變成指數形式

仔細詳閱官方文件後找到這樣的程式片段,可以解決如上問題

 

 

 

>>> def remove_exponent(d):
...     return d.quantize(Decimal(1)) if d == d.to_integral() else d.normalize()

 

>>> remove_exponent(Decimal('5E+3'))
Decimal('5000')

 

詳見這個網址

 
#36814: Re: [Python]這題想像中還要難ww


snail (蝸牛)

學校 : 新北市立板橋高級中學
編號 : 2021
來源 : [203.64.161.123]
最後登入時間 :
2024-04-25 13:12:31
d018. 字串讀取練習 | From: [180.217.19.84] | 發表日期 : 2023-08-10 10:58

前面分離字串、奇數偶數相加、相減都還OK,主要卡在最後一關,輸出整數不包含小數點、輸出浮點數又要不包含尾數的0

我以為使用Decimal就可以快速通關,但浮點數的尾數會包含不必要的零、過大的整數會變成指數形式

仔細詳閱官方文件後找到這樣的程式片段,可以解決如上問題

 

 

 

>>> def remove_exponent(d):
...     return d.quantize(Decimal(1)) if d == d.to_integral() else d.normalize()

 

>>> remove_exponent(Decimal('5E+3'))
Decimal('5000')

 

詳見這個網址


用 Format Specification Mini-Language 的 g(generic) 就可以了,如下:
print(f'{x:g}')

 
#38578: Re: [Python]這題想像中還要難ww


wu6335 (sheng hsien)

學校 : 不指定學校
編號 : 254104
來源 : [61.222.31.187]
最後登入時間 :
2024-04-25 15:44:58
d018. 字串讀取練習 | From: [61.222.31.187] | 發表日期 : 2023-12-08 11:39

前面分離字串、奇數偶數相加、相減都還OK,主要卡在最後一關,輸出整數不包含小數點、輸出浮點數又要不包含尾數的0

我以為使用Decimal就可以快速通關,但浮點數的尾數會包含不必要的零、過大的整數會變成指數形式

仔細詳閱官方文件後找到這樣的程式片段,可以解決如上問題

 

 

 

>>> def remove_exponent(d):
...     return d.quantize(Decimal(1)) if d == d.to_integral() else d.normalize()

 

>>> remove_exponent(Decimal('5E+3'))
Decimal('5000')

 

詳見這個網址


用 Format Specification Mini-Language 的 g(generic) 就可以了,如下:
print(f'{x:g}')

ans=f'{ans_f:f}'
ans=ans.rstrip('0')
大概是這樣處理吧...



 
ZeroJudge Forum