關於python使用int函數轉換輸出的信息

本文目錄一覽:

python 中的int函數怎麼用

int()是Python的一個內部函數

Python系統幫助裡面是這麼說的

[python] view plain copy

 help(int)

Help on class int in module __builtin__:

class int(object)

|  int(x[, base]) – integer

|

|  Convert a string or number to an integer, if possible.  A floating point

|  argument will be truncated towards zero (this does not include a string

|  representation of a floating point number!)  When converting a string, use

|  the optional base.  It is an error to supply a base when converting a

|  non-string.  If base is zero, the proper base is guessed based on the

|  string content.  If the argument is outside the integer range a

|  long object will be returned instead.

 

[python] view plain copy

 int(12.0)

12

 

int()函數可以將一個數轉化為整數

[python] view plain copy

 int(’12’,16)

18

 

這裡有兩個地方要注意:1)12要以字元串的形式進行輸入,如果是帶參數base的話

2)這裡並不是將12轉換為16進位的數,而是說12就是一個16進位的數,int()函數將其用十進位數表示,如下

[python] view plain copy

 int(‘0xa’,16)

10

 int(’10’,8)

python int()數字轉換問題

這個問題的原因是你用的np.zeros(count),它的默認數據類型是float類型的,而且不管你往這個np列表傳入什麼類型的值,它都是自動改為float類型。注意這個float類型可不是原生的浮點類型, 雖然「看」起來差不多, 但如果用type函數的話就能看出來區別了。

有兩種解決方法可以解決你的問題。

list = np.zeros(count)   改為  list = np.zeros(count,dtype=int)。 這樣就不會出現你所說的問題, 但對於你的這段程序用numpy有點大材小用了。 建議你用下面的方法。

list = np.zeros(count)   改為  list = [0 for i in range(count)]

然後第二張圖的錯誤提示正是因為numpy試圖把字元串自動轉換為浮點數,但顯然是不可能的。為了避免這個錯誤就必要用我上面的第二個解決方法才行了。

最後,你的代碼有可優化的空間,太多遍歷和判斷條件了。可能會很長,但可能會對你有一些啟發,如果沒有耐心的話,可以看最後一條就是最終完成的代碼。

slice函數處理邏輯過於複雜了。 你是想把如361變成[3,6,1]這樣的情況吧。那為何不使用list(str(361))呢,雖然最後的結果裡面的元素是字元串類型,但後面直接用int(i)的方式解決了。這樣的話,count函數都可以省略了。

看到slice函數下面的for遍歷語句,我明白了你的用意,就是為了計算各個位數相加的和,這樣的話,就連slice函數都沒必要了。直接下面代碼就可以了:

for i in str(n):

    sum += int(i)

3.再繼續,發現又是slice和for循環,原來是要繼續把sum分開。直接list(str(sum))即可。

4.到最後了,我看到了很多條件判斷,總覺得條件判斷這麼寫,顯得有點羅嗦了點。可以把你這個條件判斷寫一個類似配置文件的對象,其實就是字典對象。 最終給你總結一下你的代碼就是下面這樣的:

#input直接用字元串類型就夠用了。然後去掉所有import

inputStr = input()

sum = 0

#這條賦值語句其實無所謂, 但對於理解代碼來說還是很重要的,反正也不影響性能,何樂而不為呢。

result = []

#下面的是類似配置文件的字典對象

convertDic = {‘1′:’yi’,’2′:’er’,’3′:’san’,’4′:’si’,’5′:’wu’,’6′:’liu’,’7′:’qi’,’8′:’ba’,’9′:’jiu’,’0′:’ling’}

#算出input的各個位相加的和

for i in inputStr:

    sum += int(i)

#str也是可迭代的類型,所以通過map和lambda匿名函數把各個值變成相對應的拼音。

result = list(map(lambda x:convertDic[x], str(sum)))

print(result)

#去掉注釋和print語句,這段程序只用了7行,而且理解起來是不是還挺簡單的(除了最後一條)

#我相信你對於上面的語句不是很懂,裡面涉及了兩個看起來「高達上的東西」,但其實就是一種簡寫形式。

#map就是映射,簡單說就是一個循環,就是把每一個元素經過一個函數處理後再返回來的過程。

#lambda是一個匿名函數,沒有函數名,只能有一個表達式,且這個表達式就是返回值。它就是一個精簡版的函數而已。當然,map裡面也可以直接寫已定義好的函數名。

#最後我用比較通俗的代碼給你解釋一下上面那句語句的大致的工作流程。

#定義一個函數,相當於上面的匿名函數.

def convert(x):

    return convertDic[x]

#然後遍歷sum,並把每個元素替換成相應的拼音。現在的sum是一個int類型,int類型是不能迭代的或者遍歷的,所以需要把int轉換成str類型。

#這裡講一點map和這個循環遍歷的區別,首先map會把已有的元素替換成經過函數處理的值。但這條循環是在一個空的list對象里添加數據,這是區別。當然,也可以寫替換數據的循環,但代碼量不是這2行了,會更多。如果要遍歷的話,這種寫法還是比較推薦的。

for i in str(sum):

    result.append(convert(i))

    #result.append(convertDic[x]) 也可以這樣寫,但為了解釋上面那條語句,所以這條注釋掉當給你的啟發。

#最後print就可以看到結果了,也就是說,我們把4條一句壓縮成了一天語句了。如果還是不了解的話,可以翻翻文檔什麼的,裡面會有一些例子可當參考。

print(result)

python中int表示什麼數據類型

Python int()函數用於將一個字元串或數字轉換為整型。

語法

以下是Python int()函數的語法:

class int(x, base=10)

參數

x–字元串或數字

base–進位數,默認十進位

返回值

返回整型數據

實例

以下展示了使用int()方法的實例:

int() # 不傳入參數時,得到結果0

int(3)

3

int(3.6)

3

int(’12’,16) # 如果是帶參數base的話,12要以字元串的形式進行輸入,12 為 16進位

18

int(‘0xa’,16)

10

int(’10’,8)

8

原創文章,作者:FW4GZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129786.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FW4GZ的頭像FW4GZ
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論