2017-03-17 90 views
1

我正在嘗試學習python。 假設有一個數字n = 12345. 如何從第一個點開始改變每個數字,並在(1-9)和(0-9)之後的每個其他點之間迭代。 我很傷心目前正在學習Python,所以我很抱歉所有可能出現的語法錯誤。 這是我最後幾次關於代碼骨架的嘗試/想法。如何更改數字中的數字

define the function 
turn n into string 
start with a for loop that for i in n range(0,9) for i[1] 
else range(10) 

基本上如何修改一個數字,而改變其他人? 請不要給解決方案只是提示我喜歡思考的過程。

For example if n =29 the program could check 
19,39,49,59,69,79,89,99 
and 
21,22,23,24,25,26,27,28 
+0

你能更具體嗎?這不是一個「提示」的地方,它是一個問答網站。 –

+0

嗨,感謝您的迴應,基本上可以讓一個固定的大數字的一位數的功能,而改變其餘的。例如,是否有一個函數會檢查是否將第一位數字從1-9改爲第二位數字,將第三位數字從0-9改爲第三位數字。並在每次迭代之間檢查,看看它的數量是甚至(我知道這很愚蠢,因爲你只需要檢查最後一個數字,但假設)感謝編輯nfn,我可以看到我是如何模糊,我可以從答案中學習我想 – user415853

回答

0

雖然你是新手,但這個過程似乎比你想象的要容易得多。

您想對數字的每個數字進行更改(比如說n=7382)。但是你不能迭代數字(甚至沒有按照你的意願改變特定的數字):只能遍歷迭代(比如列表)。一個字符串是一個可迭代的。如果你有辦法做一個int-str轉換,你可以迭代每個數字,然後打印新的數字。

但是,你如何改變你正在迭代的數字?再次,方法是重複轉換(將其保存到一個var,然後循環會變得很棒),然後獲取一個子字符串,除了您所在的位置之外,它將獲得所有數字。有兩種方法可以做到這一點:

  1. 您搜索該特定值並獲取其索引(壞)。
  2. 你列舉了循環(好)。

爲什麼2好?因爲你有實際數量的實際位置正在改變(認爲在754877做一個索引,因爲當你到達最後一個時,實際的改變不會很好)。搜索一種迭代循環中的項目以獲取其實際索引的方法。

在Python中獲取子字符串的最簡單方法是切片。你分兩次:一次是在實際之前獲得所有數字,另一次是在所有數字之後。然後,您只需將這兩個str加入實際變量編號中即可。

我希望我對你沒有輕鬆,但對於一個簡單的任務很難。

+0

謝謝@RompePC我不知道拼接,但它似乎是一個更容易的方式做我一直在嘗試(支撐自己)counter = 0 str(n) a = n for n,i在枚舉的(a): 如果我== 1: 一個[N] = 2 如果我== 2: 一個[N] = 3 如果我== 3: 一個[N] = 4 如果i == 4: a [n] = 5你介意做一個小拼接的例子 – user415853

+1

雖然很棒y ou發佈代碼,如果您編輯帖子並將其放入,將會更好,因爲這裏不可讀xDD。無論如何,這裏是一個普遍的暗示:當你不知道如何做這樣的事情時(比如這個數字的改變),「str」轉換通常就是要走的路。掌握它會讓生活更輕鬆。 – RompePC

+0

非常感謝,我認爲我現在走在正確的軌道上!非常感激! – user415853