1樓:匿名使用者
這個問題的原因是你用的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.到最後了,我看到了很多條件判斷,總覺得條件判斷這麼寫,顯得有點羅嗦了點。可以把你這個條件判斷寫一個類似配置檔案的物件,其實就是字典物件。
最終給你總結一下你的**就是下面這樣的:
python 字元與數字如何轉換
2樓:zer0小雪
python中字元與數字相互轉換用chr()即可。
python中的字元數字之間的轉換函式
int(x [,base ]) 將x轉換為一個整數
long(x [,base ]) 將x轉換為一個長整數
float(x ) 將x轉換到一個浮點數
***plex(real [,imag ]) 建立一個複數
str(x ) 將物件 x 轉換為字串
repr(x ) 將物件 x 轉換為表示式字串
eval(str ) 用來計算在字串中的有效python表示式,並返回一個物件
tuple(s ) 將序列 s 轉換為一個元組
list(s ) 將序列 s 轉換為一個列表
chr(x ) 將一個整數轉換為一個字元
unichr(x ) 將一個整數轉換為unicode字元
ord(x ) 將一個字元轉換為它的整數值
hex(x ) 將一個整數轉換為一個十六進位制字串
oct(x ) 將一個整數轉換為一個八進位制字串
chr(65)='a'
ord('a')=65
int('2')=2;
str(2)='2'
3樓:日time寸
整數字串轉換為對應的整數
int('12')
小數字串轉換為對應小數
float('12.34')
數字轉換為字串
str(123.45)
ascii碼轉換為相應字元
chr(97)
字元轉換為響應ascii碼
ord('a')
4樓:尼克的右手
一、python中字串轉換成數字(1)import string
t='555'
ts=string.atoi(tt)
ts即為tt轉換成的數字
轉換為浮點數 string.atof(tt)(2)直接int
int(tt)即可。
二、數字轉換成字串
tt=322
tem='%d' %tt
tem即為tt轉換成的字串
5樓:匿名使用者
整數字串轉換為對應的整數int('12')。
使用格式化字串:
tt=322
tem='%d' %tt
tem即為tt轉換成的字串
小數字串轉換為對應小數float('12.34')。
double num1 = 0.0;
string ** = "12.34";
num1 = double.valueof(**.tostring());
數字轉換為字串str(123.45)。
(123.45).to_bytes(4, 'big')
b'\x13\x9b\xe5\x87'
ascii碼轉換為相應字元chr(97)。
字元轉換為響應ascii碼ord('a')。
下面是python中對這幾個方法的簡單說明:ord(...) ord(c) -> integer return the integer ordinal of a one-character string。
chr(...)
chr(i) -> character
return a string of one character with ordinal i; 0 <= i < 256。
repr(...)
repr(object) -> string return the canonical string representation of the object。
for most object types, eval(repr(object)) == object。
unichr(...)
unichr(i) -> unicode character return a unicode string of one character with ordinal i; 0 <= i <= 0x10ffff。
6樓:匿名使用者
#x須為數字,否則把字串型別的字母/漢子/標點符號轉化為int型別毫無意義,會報錯。
x = 1 #x為int型別。
s = str(x) #把x轉換為字串型別,即'x'.
i = int(s) #把字串型別的x轉換為int型別的x。
7樓:藍藍藍
一、python中字串轉換成數字
1、類中進行匯入:import string ,str='555',num=string.atoi(str),num即為str轉換成的數字轉換為浮點數:
string.atof(str)
2、直接intint(str)即可。
二、數字轉換成字串
num=322,str='%d'%num,str即為num轉換成的字串
8樓:淺雨唯一
#!/usr/bin/python
#-*- coding:utf-8 -*-if __name__ == "__main__":
a = '64'
print 'type(a)=', type(a)print 'a=', a
b = int(a)
print 'type(b),', type(b)print 'b=', b
c = '40'
print 'type(c),', type(c)print 'c=', c
d = int(c, 16)
print 'type(d),', type(d)print 'd=', d
e = '100'
print 'type(e),', type(e)print 'e=', e
f = int(e, 8)
print 'type(f),', type(f)print 'f=', f
g = '1000000'
print 'type(g),', type(g)print 'g=', g
h = int(g, 2)
print 'type(h),', type(h)print 'h=', h
9樓:匿名使用者
int(str)
float(str)
str(int)
str(float)
10樓:名字都沒一個
將input中的字串轉換為數字:
首先我們知道inpu輸入的內容為字元,如果輸入為『』數字『』要轉換為python中的數字,則要分為整數數值,或小數點數值,可用以下方法:
a=input('請輸入一個數字')
try:
n=int(a)
except:
n=float(a)
另外如果要轉換為其他型別,可以在後面再加except:
int(x [,base ]) 將x轉換為一個整數
long(x [,base ]) 將x轉換為一個長整數
float(x ) 將x轉換到一個浮點數
***plex(real [,imag ]) 建立一個複數
str(x ) 將物件 x 轉換為字串
repr(x ) 將物件 x 轉換為表示式字串
eval(str ) 用來計算在字串中的有效python表示式,並返回一個物件
tuple(s ) 將序列 s 轉換為一個元組
list(s ) 將序列 s 轉換為一個列表
chr(x ) 將一個整數轉換為一個字元
unichr(x ) 將一個整數轉換為unicode字元
ord(x ) 將一個字元轉換為它的整數值
hex(x ) 將一個整數轉換為一個十六進位制字串
oct(x ) 將一個整數轉換為一個八進位制字串
ord: 將ascii字串轉化為ascii值
數字轉換問題,數字 咋轉換的?
用途 將十進位制轉化為二進位制。輸入 dec 十進位制數 輸入資料型別 long 輸出 dec to bin 二進位制數 輸出資料型別 string 輸入的最大數為2147483647,輸出最大數為1111111111111111111111111111111 31個1 public functio...
轉換陣地猜數字,轉換陣地猜一個數字
答案是 69 三六九等 s n li ji d ng 生詞本基本釋義 詳細釋義 s n li ji d ng 泛指許多等級,種種差別。出 處清 曹雪芹 紅樓夢 第七十五回 你們這些兔子,真是些沒良心的忘八羔子!天天在一處,誰的恩你們不沾?只不過這會子輸了幾兩銀子,你們就這樣三六九等兒的了。轉移陣地打...
轉換格式的問題,轉換格式怎麼轉換
吧!是中文 100 免費的。軟體官網可以下。最新版功能更強 步驟就是 先載入你的原 然後 到擷取面板,定位你的時間段為要擷取的片段,然後設定輸出格式為 等音訊格式,最後輸出就行了。各種檔案格式不一樣,貞數也不一樣,音質也不一樣,你想最大限度的保持音質,能改過來就挺好的,音質嘛,不必要求哪麼完美。轉換...