亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python新手,可以在基本問題上使用一些指導

Python新手,可以在基本問題上使用一些指導

喵喔喔 2022-08-16 18:14:38
我試圖做一個基本問題,其中我得到了浮點數3.142,問題要求制作一個使用數字1 2 3的列表,但只使用3.142來獲取列表中的這些數字。我知道int(3.142)給出了3;int(3.142/3.142)給出了1,但我不確定如何得到2。有沒有某種我沒有考慮的數學函數?
查看完整描述

4 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

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



查看完整回答
反對 回復 2022-08-16
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

我們,程序員喜歡遵循DRY原則的代碼(不要重復自己)


要獲取 1 和 2 的更多 DRY 代碼,而無需重復使用方塊。


import math


int(math.sqrt(3.142) == 1


round(math.sqrt(3.142)) == 2

:)


查看完整回答
反對 回復 2022-08-16
?
泛舟湖上清波郎朗

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]


查看完整回答
反對 回復 2022-08-16
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

您可以使用運算符“%”并得到2。


int(3.142) = 3

int(3.142 % 3.142) = 2

int(3.142 / 3.142) = 1


查看完整回答
反對 回復 2022-08-16
  • 4 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號