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

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

檢查條件語句中的數據類型

檢查條件語句中的數據類型

慕工程0101907 2023-02-15 17:25:57
如果它是整數,我想從字符串中打印一個字符。這是我在為 Codewars 中的 Kata 編寫的代碼中的問題歸零后編寫的簡化且具體的示例代碼。雖然 Kata 在這里不相關,但我似乎無法弄清楚如何在條件語句(如if type(char) == int)中使用數據類型。string = "th3is i1s anot4her ra2ndom strin5g"for word in string:    for char in word:        if type(char) == int:            print(char)
查看完整描述

5 回答

?
12345678_0001

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

  1. 你永遠不會將你的字符串拆分成單詞,所以外循環沒有意義。

  2. 您正在遍歷字符,這些字符是長度為 1 的字符串。長度為 1 的字符串的類型永遠不會等于int

  3. 你可以使用str.isdigit方法。

用一個循環重寫代碼:

for c in string: 
   if c.isdigit():  
         print(c)

作為單線:

print('\n'.join(c for c in string if c.isdigit()))


查看完整回答
反對 回復 2023-02-15
?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

我認為isdigit()可以工作,你也可以使用正則表達式。 https://www.w3schools.com/python/ref_string_isdigit.asp


查看完整回答
反對 回復 2023-02-15
?
四季花海

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

這可以使用正則表達式來完成,您可以re在 Python 中導入模塊以使用正則表達式:


import re

sentences = "th3is i1s anot4her ra2ndom strin5g"

num = re.findall("[0-9]", sentences)

print(num)

基本上,此代碼將返回該字符串中的所有數值


查看完整回答
反對 回復 2023-02-15
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

別擔心.. 今天的每個高級程序員都曾經是初學者,因此會有所有明顯的基本問題:)。


您可以使用 str.isnumeric() 布爾檢查。通過使用它,您可以避免第二個 for 循環,因為第二個 for 循環在這里實際上沒有意義。


這是修改后的代碼-


string = "th3is i1s anot4her ra2ndom strin5g"

for char in string:

    if char.isnumeric():

        print(char)


查看完整回答
反對 回復 2023-02-15
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

type但是,如果您輸入


type(<some variable>)

進入解釋器,你總是會得到類似于變量類型的"<class '<type'>" 形式的輸出。<type>您可以實際使用此代碼(這是一個示例,因此請根據您的目的修改它):


myvar = "some python string"


if type(myvar) == "<class 'str'>":

    # true

    print("Is a string")

現在你可以想象,這個程序會輸出


>>> Its a string

str您可以通過將塊的一部分更改"<class 'str'>"為您要查找的類型(例如:"<class 'int'>"整數)來使其適用于任何類型。


希望這可以幫助!


查看完整回答
反對 回復 2023-02-15
  • 5 回答
  • 0 關注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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