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

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

如果輸入是浮點數,如何不計算字符串的長度?

如果輸入是浮點數,如何不計算字符串的長度?

開滿天機 2022-05-24 16:05:31
我的程序是使用 len() 方法計算字符串的長度。使用 input() 函數將字符串作為用戶的輸入?,F在的問題是,如果輸入是 int 而不是字符串,它不會計算長度。但是我無法執行第二部分,即如果輸入是浮點數而不是字符串。我可以在代碼中做什么或我可以使用哪些庫函數?def strlength(string):    len1=len(string)    return len1len1=input("Enter any string:")if len1.isdigit()==True:    print("Integers cannot have length !")elif bool(len1.find("."))==True:    print("Float numbers cannot have length !")else:    print(strlength(len1))
查看完整描述

2 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

您可以嘗試以另一種方式解決您的問題。據我了解,您的問題是輸入是數字時,但輸入法總是給出一個字符串。所以第一步嘗試將輸入值轉換為一個數字,如果它有效,但如果它拋出一個 ValueError 你有一個字符串,所以你可以得到長度。


def strlength(string):

    """"""

    try:

        float(string)

        print('The input was a number')

        return None

    except ValueError:

        return len(string)



len1 = input('Enter any string:')

print(strlength(len1))

但如果輸入是一個數字后跟一個字符串,例如“ 15.2toto ”,則它不起作用。如果您真的不想考慮字符串中的任何數字,那么您應該查看re模塊的sub方法以使用正則表達式刪除任何數字。


查看完整回答
反對 回復 2022-05-24
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

試試這個:


它只接受非整數和浮點類型輸入來返回正確的長度。


def strlength(string):

    if string.isdigit():

        return False

    if string.find('.') > 0:

        a, b = string.split('.') 

        if a.isdigit() and b.isdigit():

            return False 

    if  type(string) == str :

            return len(string)



length = strlength(input("Enter any string:"))

if (length):

    print("The length of the string is ", length)

else:

    print("The input was an integer or a float.")



這應該有助于您的事業。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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