[問題] 新手請教輸入範圍限制

看板Python作者 (八雲老公)時間6年前 (2019/06/21 13:33), 6年前編輯推噓5(504)
留言9則, 6人參與, 6年前最新討論串1/1
各位大大不好意思 菜逼八小弟有一個小問題想請教 現在要設立一個清單讓使用者輸入10個數字,範圍1~1000 我自己耍白癡沒把當時寫出來的code記下來,結果現在寫不出來= = 這是目前的樣子 s = [] j = 11 for i in range (1, j): var1 = int(input("請輸入整數 =>")) if var1 < 1 and var1 > 1000 : print("範圍錯誤,請重新輸入") j = j+1 else: s.append(var1) print(s) 我現在是用for,我只記得當時說要用while迴圈,但我完全忘記怎麼寫了 請各位救救我,順便再噴一下我的愚蠢 謝謝大家 -- 知,樂之權輿,苦之濫觴 嬰兒之啼乃為故悉此道苦 是故嚎滿室,涕淚橫 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.105.212.244 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1561095237.A.96D.html

06/21 13:54, 6年前 , 1F
j=11拿掉,然後把for迴圈那行改成while len(s)!=10:
06/21 13:54, 1F
謝謝你 不過我這樣改了以後 發現超過範圍的數字仍然會被寫入清單內 好像程式根本沒有讀到if句一樣 麻煩您了

06/21 13:55, 6年前 , 2F
然後再把原本for迴圈裡面的j刪掉就好
06/21 13:55, 2F
※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 14:06:00

06/21 14:09, 6年前 , 3F
and要改成or
06/21 14:09, 3F
想請問為什麼要改成or 而不能用and呢? 成功了 謝謝大大 ※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 14:19:16 ※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 14:20:06

06/21 15:17, 6年前 , 4F
AND和OR的真值表可以看一下就知道為什麼了~
06/21 15:17, 4F

06/21 15:50, 6年前 , 5F
怎麼可能有數字同時大於1000又小於1,難怪不成立
06/21 15:50, 5F
應該是打錯了XD 我電腦上是對的

06/21 15:54, 6年前 , 6F
翻成中文就知道了,or(或著) , and(而且)
06/21 15:54, 6F
※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 17:22:24

06/21 18:06, 6年前 , 7F
python 可以這樣寫 1 < var < 1000,某方面來說這樣效
06/21 18:06, 7F

06/21 18:06, 6年前 , 8F
能比較好也比較易讀
06/21 18:06, 8F

06/23 12:49, 6年前 , 9F
是一定要輸滿10個數字呢?還是錯誤也算一次?
06/23 12:49, 9F
文章代碼(AID): #1T36n5bj (Python)
文章代碼(AID): #1T36n5bj (Python)