作者SamuelKL (八雲老公)
看板Python
標題[問題] 新手請教輸入範圍限制
時間Fri Jun 21 13:33:55 2019
各位大大不好意思
菜逼八小弟有一個小問題想請教
現在要設立一個清單讓使用者輸入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://webptt.com/m.aspx?n=bbs/Python/M.1561095237.A.96D.html
1F:推 aaron880221: j=11拿掉,然後把for迴圈那行改成while len(s)!=10: 06/21 13:54
謝謝你
不過我這樣改了以後
發現超過範圍的數字仍然會被寫入清單內
好像程式根本沒有讀到if句一樣
麻煩您了
2F:→ aaron880221: 然後再把原本for迴圈裡面的j刪掉就好 06/21 13:55
※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 14:06:00
3F:推 aaron880221: and要改成or 06/21 14:09
想請問為什麼要改成or
而不能用and呢?
成功了 謝謝大大
※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 14:19:16
※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 14:20:06
4F:推 jameschiou: AND和OR的真值表可以看一下就知道為什麼了~ 06/21 15:17
5F:→ niceguy: 怎麼可能有數字同時大於1000又小於1,難怪不成立 06/21 15:50
應該是打錯了XD 我電腦上是對的
6F:→ renshin: 翻成中文就知道了,or(或著) , and(而且) 06/21 15:54
※ 編輯: SamuelKL (223.139.109.213 臺灣), 06/21/2019 17:22:24
7F:推 bugbug777: python 可以這樣寫 1 < var < 1000,某方面來說這樣效 06/21 18:06
8F:→ bugbug777: 能比較好也比較易讀 06/21 18:06
9F:推 yeuan: 是一定要輸滿10個數字呢?還是錯誤也算一次? 06/23 12:49