APP Inventor零基礎入門班CH5.2大樂透開獎程式問題 |
|
regeneration
更新時間:2014/6/13 下午 02:27:26 |
|
請問CH5.2大樂透開獎程式中是用insert list item將號碼i加入LottoList清單,位置是由random integer from 1 to i 的亂數產生!
按照我的理解: 第一次進入for range時i不是等於1嗎? 這樣不是號碼i=1加入LottoList清單,位置是random integer from 1 to i=1的亂數產生的也是=1? 請問我的理解是哪裡有錯呢?
另外要如何避免6個號碼重複呢?
謝謝!
|
|
|
|
regeneration
更新時間:2014/6/13 下午 02:34:20 |
|
另外,我把範例程式中insert list item拼塊中的index與item互換: index用value i item用random integer from 1 to i 產生出來的結果跟我理解的一樣, 所以有些困惑,煩請解答,謝謝! |
|
|
|
文淵閣工作室
更新時間:2014/6/14 上午 08:31:13 |
|
關鍵在於將值插入指定位置後,其後的值會向後退。第一次執行迴圈,將 1 加在第一個元素;第二次執行迴圈,若 2 加在第一個元素就成為 2,1,若 2 加在第二個元素就成為 1,2;依此類推。 因為是依序將 1、2、3、……加入不同位置,所以沒有號碼重複問題。 若將 insert list item拼塊中的index與item互換,則依序將亂數加在第 1、2、3 位置,也就是您預期的結果。 |
|
|
|
|
|
|