2016-03-11 45 views
0

所以我試圖設計兩個函數,一個創建一個列表,一個檢查列表中的某些參數。功能check()功能是查看函數的隨機生成列表中的任何元素是否> 100,然後通知用戶需要記錄哪些元素。說實話,我真的不知道從哪裏開始check()函數,並希望有人可能有一些建議?If/Else Statement and Lists Within Functions - Python 3.x

def price(): 
    priceList = [1,2,3,4,5,6,7,8,9,10] 
    print ("Price of Item Sold:") 
    for i in range (10): 
     priceList[i] = random.uniform(1.0,1000.0) 
     print("${:7.2f}".format(priceList[i])) 
    print("\n") 
    return priceList 

我知道check()功能的路要走,但就像我說的,不完全知道從哪裏去用它。

def check(priceList): 
    if priceList > 100 
     print ("This item needs to be recorded") 

感謝您的高級幫助!

+1

您是否需要檢查'priceList'的所有元素是否都小於100?或者找到哪些元素比100大? –

+1

'checkthese = [p for priceList如果p> 100]' – mpez0

+0

價格表中沒有任何初始值。您可以將price()的第一行更改爲'priceList = []',因爲無論如何,所有項目都將被隨機值替換。 –

回答

1

這似乎是最好的方法。

def price(): 
    priceList = [1,2,3,4,5,6,7,8,9,10] 
    print ("Price of Item Sold:") 
    for i in range (10): 
     priceList[i] = random.uniform(1.0,1000.0) 
     print("${:7.2f}".format(priceList[i])) 
    print("\n") 
    return priceList 

並用於檢查列表。

def check(): #Will go through the list and print out any values greater than 100 
    plist = price() 
    for p in plist: 
     if p > 100: 
      print("{} needs to be recorded".format(p)) 
1

最簡單的解決方案是循環傳遞給檢查函數的值。

def check(priceList, maxprice=100): 
    for price in priceList: 
     if price > maxprice: 
      print("{} is more than {}".format(price, maxprice) 
      print ("This item needs to be recorded") 

如果您願意,您可以使用price()生成價格表並將其傳遞給check()。

check(price())