我撰寫了一個代碼來接收用戶輸入作為串列。
def lst_data():
lst = []
total = int(input('Number of Data: '))
for number in range(0, total):
user_data = int(input('Enter the Data: '))
lst.sort()
lst.append(user_data)
print(lst)
輸出是:
[50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 70, 70, 71, 72, 73, 74, 75, 76, 77, 79, 79, 80, 80, 81, 82, 84, 86, 87, 88, 89, 89, 90, 91, 83]
我要做的下一步是按每 6 個數字計算該串列中的每個專案,例如 50-55 = ???、56-61 = ???、62-67 =???等等。
我一直在嘗試:
counter = 0
for i in last:
if 50 < i < 55:
counter = 1
print(counter)
它有效,但我必須一遍又一遍地重復代碼,并且“if陳述句”中的值必須來自用戶輸入
我怎么能弄清楚呢?我想檢查是否有任何方法可以使我的代碼更簡單
uj5u.com熱心網友回復:
您首先排序然后添加元素,因此在回圈中首先完成排序,然后添加最后一個元素。因此它被排除在外。所以你可以像下面這樣交換行。
你的代碼
def lst_data():
lst = []
total = int(input('Number of Data: '))
for number in range(0, total):
user_data = int(input('Enter the Data: '))
# First append
lst.append(user_data)
# Then sort
lst.sort()
print(lst)
建議代碼
下面是帶有串列理解的代碼。
- 回圈遍歷
total以獲取那么多數量的inputs - 然后將值
added添加到串列中。 - 然后串列就
sorted出來了printed
def lst_data():
lst = []
total = int(input('Number of Data: '))
lst = sorted([int(input('Enter the Data: ')) for i in range(total)])
print(lst)
uj5u.com熱心網友回復:
def lst_data():
lst = []
total = int(input('Number of Data: '))
for number in range(0, total):
user_data = int(input('Enter the Data: '))
lst.append(user_data)
lst.sort()
print(lst)
使用此代碼
uj5u.com熱心網友回復:
我認為這就是你想要做的:
def count(lo, hi, _list):
return sum(lo <= e <= hi for e in _list)
nd = int(input('Number of data items: '))
data = []
for _ in range(nd):
datum = int(input('Enter datum: '))
data.append(datum)
lo = int(input('Enter low range value: '))
hi = int(input('Enter high range value: '))
print(f'There are {count(lo, hi, data)} items in the range {lo}-{hi}')
例子:
Number of data items: 5
Enter datum: 2
Enter datum: 1
Enter datum: 3
Enter datum: 5
Enter datum: 6
Enter low range value: 1
Enter high range value: 5
There are 4 items in the range 1-5
筆記:
沒有理由對串列進行排序
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/514759.html
上一篇:使用htaccess縮短url
下一篇:這是解決字謎問題的好方法嗎?
