Python新手,可以在基本问题上使用一些指导

我试图做一个基本问题,其中我得到了浮点数3.142,问题要求制作一个使用数字1 2 3的列表,但只使用3.142来获取列表中的这些数字。我知道int(3.142)给出了3;int(3.142/3.142)给出了1,但我不确定如何得到2。有没有某种我没有考虑的数学函数?


喵喔喔
浏览 150回答 4
4回答

肥皂起泡泡

好吧,要得到2,你可以做:)。(3.142 + 3.142) / 3.142

陪伴而非守候

我们,程序员喜欢遵循DRY原则的代码(不要重复自己)要获取 1 和 2 的更多 DRY 代码,而无需重复使用方块。import mathint(math.sqrt(3.142) == 1round(math.sqrt(3.142)) == 2:)

泛舟湖上清波郎朗

一种方法是在字符串之间来回转换:# convert float to a stringnum = 3.142strnum = str(num)# order the string lexicographically, using built-in method sortedordered = sorted(strnum)# ordered = ['.', '1', '2', '3', '4']# get the middle three elements at indices 1, 2, and 3, using a list slicemiddle = ordered[1:4]# middle = ['1', '2', '3']# convert them into integers if desired, using a list comprehensionmiddle_ints = [int(e) for e in middle]# middle_ints = [1, 2, 3]

ABOUTYOU

您可以使用运算符“%”并得到2。int(3.142) = 3int(3.142 % 3.142) = 2int(3.142 / 3.142) = 1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python