第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

完全平方函數(shù)

完全平方函數(shù)

達令說 2022-12-27 17:22:03
如果數(shù)字是一個完美的正方形,我正在嘗試制作一個說“是”的函數(shù)。以下是代碼,考慮到我是初學(xué)者,請建議我需要進行的更改。def perfsq(x):    if s == (math.sqrt(x)) and s * s == x:        print('yes')
查看完整描述

5 回答

?
月關(guān)寶盒

TA貢獻1772條經(jīng)驗 獲得超5個贊

示例 1:


import math


def perfsq(x):

    if math.sqrt(x)%1 == 0:

        print('yes')

    else:

        print('no')

調(diào)用你的函數(shù):


perfsq(16)

示例 2:


x = 16


print('yes') if math.sqrt(x)%1 == 0 else print('no')


查看完整回答
反對 回復(fù) 2022-12-27
?
FFIVE

TA貢獻1797條經(jīng)驗 獲得超6個贊

我希望這可以幫助:


import math


number = int(input("Enter the Number"))


root = math.sqrt(number)


if int(root + 0.5) ** 2 == number:

    print("YES")

else:

    print("NO")


查看完整回答
反對 回復(fù) 2022-12-27
?
catspeake

TA貢獻1111條經(jīng)驗 獲得超0個贊

您的函數(shù)有錯誤,因為s未定義。您的代碼應(yīng)如下所示 -


def perfsq(x):

    s = math.sqrt(x)          # You didn't define s in your code

    if s == (math.floor(s)):  # Just check if square root is an integer

        print('yes')

        return True

    else :

        print('No')

        return False


查看完整回答
反對 回復(fù) 2022-12-27
?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

你似乎有兩個主要的誤解:

  1. ==用于比較對象,而不是賦值。我相信您打算分配smath.sqrt(x)這是由s = math.sqrt(x).

  2. 即使進行了上述更改,您也不能將該賦值放在if語句中。if條件可以包含表達式,而不是語句。賦值是語句。


要解決這個問題,您需要做的就是首先單獨分配s

import math


def perfsq(x):

    s = math.sqrt(x) 

    if s * s == x:

        print('yes')

現(xiàn)在你的問題是你變得依賴float precision。sqrt返回一個浮點數(shù),因此對浮點數(shù)進行操作(例如s * s)是有風險的。舉個例子,使用上面的函數(shù),運行perfsq(35)實際上會打印'yes'!!!


為了避免這些精度問題,首先檢查數(shù)字的平方根是否為 int 就足夠了。所以你的代碼可以大大簡化為:


import math


def perfsq(x):

    if math.sqrt(x).is_integer():

        print('yes')

這是使用該float.is_integer()方法,基于math.sqrt總是返回一個浮點數(shù)的事實。



查看完整回答
反對 回復(fù) 2022-12-27
?
倚天杖

TA貢獻1828條經(jīng)驗 獲得超3個贊

考慮這個


def perfsq(x):

    s = math.sqrt(x)

    p = int(s)

    return p==s


查看完整回答
反對 回復(fù) 2022-12-27
  • 5 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號