4 回答

TA貢獻1757條經驗 獲得超8個贊
我們,程序員喜歡遵循DRY原則的代碼(不要重復自己)
要獲取 1 和 2 的更多 DRY 代碼,而無需重復使用方塊。
import math
int(math.sqrt(3.142) == 1
round(math.sqrt(3.142)) == 2
:)

TA貢獻1818條經驗 獲得超3個贊
一種方法是在字符串之間來回轉換:
# convert float to a string
num = 3.142
strnum = str(num)
# order the string lexicographically, using built-in method sorted
ordered = sorted(strnum)
# ordered = ['.', '1', '2', '3', '4']
# get the middle three elements at indices 1, 2, and 3, using a list slice
middle = ordered[1:4]
# middle = ['1', '2', '3']
# convert them into integers if desired, using a list comprehension
middle_ints = [int(e) for e in middle]
# middle_ints = [1, 2, 3]

TA貢獻1812條經驗 獲得超5個贊
您可以使用運算符“%”并得到2。
int(3.142) = 3
int(3.142 % 3.142) = 2
int(3.142 / 3.142) = 1
添加回答
舉報