مشق List کی مشقیں

اس دھاگے میں لسٹ کے استعمال کو ذہن نشین کروانے کے لیے لسٹ کے حوالے سے چند مشقیں دی جائیں گی اور پھر انہیں حل کیا جائے گا۔

مشق 1:
ایک فنکشن sum_list کے نام سے بنائیں جس میں ان پٹ کے طور پر نمبروں کی ایک لسٹ بھیجی جا سکے اور وہ لسٹ میں موجود تمام رکن نمبروں کو جمع کرکے واپس بھیج دے۔ مثلا

PHP:
>>>print(sum_list([1, 7, 4]))
12
 
>>>print(sum_list([9,4,10,12])
35
 
>>>print(sum_list([1, 9]))
10
 

محمدصابر

محفلین
محب بھائی دیکھیں ٹھیک کیا ہے؟
کوڈ:
def sum_list(lst):
    i = 0
    sm = 0
    num = len(lst)
    while i < num:
        sm += lst[i]
        i+=1
    return sm
 
s =[1,2,3,4]
print(sum_list(s))
print(sum_list([1,3,5,7,40]))
 

محمدصابر

محفلین
خوب ۔۔۔ ! "ایسی نقلیں کرنا" ہمیں بھی سکھا دیں :D
PHP:
horsemen = ["war", "famine", "pestilence", "death"]
 
i = 0
while i < 4:
    print horsemen[i]
    i += 1



PHP:
def fib2(n): # return Fibonacci series up to n
    """Return a list containing the Fibonacci series up to n."""
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)    # see below
        a, b = b, a+b
    return result
 
 
f100 = fib2(120)
print(f100)
 
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]



PHP:
>>> f100
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
 
محب بھائی دیکھیں ٹھیک کیا ہے؟
کوڈ:
def sum_list(lst):
    i = 0
    sm = 0
    num = len(lst)
    while i < num:
        sm += lst[i]
        i+=1
    return sm
 
s =[1,2,3,4]
print(sum_list(s))
print(sum_list([1,3,5,7,40]))

ٹھیک ہے ، ظاہر ہے جواب اگر درست ہو تو ٹھیک ہی ہوتا ہے۔ اسے اور مختصر اور for لوپ کے ذریعے ایسے کرنے سے زیادہ آسانی رہے گی۔

PHP:
def sum_list(lst):
    sum = 0
    for i in lst:
        sum += i
 
    return sum
 
s =[1,2,8,3,4]
print(sum_list(s))
 
18
 

محمداحمد

لائبریرین
میں نے List کی مدد سے Multiplication Tables کا سلسلہ پرنٹ کروانے کے لئے یہ کوڈ لکھا ہے۔ اس میں لسٹ کا استعمال تو خیر معمولی سا ہی ہے بس اشاریہ کی مدد سے اقدار تک رسائی کی مشق ضرور ہے۔

PHP:
# Creating a series of "Multiplication Table" using List
 
def mtableonlist (t):
    n = [0,1,0]
    n[0] = t
    while n[1]<11:
   
        print (n[0],"X",n[1],"=",n[0]*n[1])
        n[1] += 1
 
def ordinal (n):    #Working for Ordinal Numbers
    count = 0
    count1 = 'st'
    count2 = 'nd'
    count3 = 'rd'
    countth = 'th'
    description = ''' Table is over
'''
    if n > 20:
        temp = str(n)
        temp = temp[-1]
        temp = int(temp)
        if temp ==1:
                count = count1
        elif temp == 2:
                count = count2
        elif temp == 3:
                count = count3
        else:
                count = countth
    elif n < 21:
        if n ==1:
                count = count1
        elif n == 2:
                count = count2
        elif n == 3:
                count = count3
        else:
                count = countth
 
    print (str(n)+count+description)
 
 
def cts (): # Call Table Series
    print ("This utility may get you a series of tables you may wish: ")
    from1 = int (input("Table Starting from: "))
    upto = int (input ("Upto = "))
    while from1 < (upto+1):
        mtableonlist(from1)
        ordinal(from1)
        from1 += 1
    print ("That's All Folks.")
 
 
cts ()
یہ کچھ طویل لگ رہا ہے ۔ اگر یہی کسی ماہر نے لکھا ہوتا تو شاید چند لائنز میں سما جاتا۔
 
مشق 2:
ایک فنکشن measure_udacity کے نام سے لکھیں جو ان پٹ اسٹرنگ کی لسٹ لے اور جتنی اسٹرنگ U سے شروع ہو رہی ہوں ان کی گنتی کرکے واپس بھیج دے۔

PHP:
>>>measure_udacity(['Dave','Sebastian','Katy'])
0
 
>>>measure_udacity(['Umika','Umberto'])
2
 

محمداحمد

لائبریرین
ایک کوشش۔ کیا یہ ٹھیک ہے؟

PHP:
def measure_u(t):
        sm = len(t)
        i = 0
        total = 0
     
        while i < sm:             
            var = (t[i])
            fc = str(var[0])
            if fc == 'U':
                total += 1
            elif fc == 'u':
                total += 1
            i += 1
        else:
                print (total)
     
measure_u (['Dave','Sebastian','Katy'])
 

محمداحمد

لائبریرین
مشق 2:

ایک فنکشن measure_udacity کے نام سے لکھیں جو ان پٹ اسٹرنگ کی لسٹ لے اور جتنی اسٹرنگ U سے شروع ہو رہی ہوں ان کی گنتی کرکے واپس بھیج دے۔

ایک کوشش for کے ساتھ:

PHP:
def measure_u(t):
        sm = len(t)
        i = 0
        j = 0
        total = 0
 
        for i in t:
                for j in i:
                        if j[0] == 'U':
                                total += 1
        print (total)
 
new = ['Abubakar','Umer','Usman','Haider']
measure_u (new)
 

محمدصابر

محفلین
ایک کوشش for کے ساتھ:

PHP:
def measure_u(t):
        sm = len(t)
        i = 0
        j = 0
        total = 0
 
        for i in t:
                for j in i:
                        if j[0] == 'U':
                                total += 1
        print (total)
 
new = ['Abubakar','Umer','Usman','Haider']
measure_u (new)

آج میں نے آپ کے مراسلے کی نقل کی ہے :)
PHP:
def measure_u(t):
        total = 0
        for i in t:
            if i.lower().find('u',0,1) !=-1:
                total +=1
        print (total)
 
new = ['Abubakar','Umer','Usman','Haider']
measure_u (new)
 

محمداحمد

لائبریرین
آج میں نے آپ کے مراسلے کی نقل کی ہے :)
کوڈ:
def measure_u(t):
        total = 0
        for i in t:
            if i.lower().find('u',0,1) !=-1:
                total +=1
        print (total)
 
new = ['Abubakar','Umer','Usman','Haider']
measure_u (new)

بہت خوب صابر بھائی۔۔۔!

ڈاٹ فائنڈ کا میتھڈ میرے لئے نیا ہے۔ اگر آپ وضاحت کرسکیں کہ یہ اور اس کے آرگیومینٹس کیا کام کررہے ہیں۔
 

محمدصابر

محفلین
بہت خوب صابر بھائی۔۔۔ !

ڈاٹ فائنڈ کا میتھڈ میرے لئے نیا ہے۔ اگر آپ وضاحت کرسکیں کہ یہ اور اس کے آرگیومینٹس کیا کام کررہے ہیں۔
پہلا آرگومنٹ سٹرنگ ہے جو ڈھونڈنے کے لئے دی جاتی ہے اگر یہ نہ ملے تو وہ 1- ریٹرن کرے گا۔ ورنہ مطلوبہ سٹرنگ کے آغاز والا انٹیجر۔ باقی دو آرگومنٹس آپشنل ہیں جو سٹارٹ اور اینڈ کے لئے ہیں۔
 
ویسے تو اوپر صابر اور محمد احمد نے اسے حل کیا ہے۔ ایک اور مختصر حل یہ بھی ہے۔

PHP:
def measure_udacity(lst):
    count = 0
    for l in lst:
        if l[0] == "U":
            count += 1
    return count
 
 
lst = ["Usman","Union","Sabir","Ahmad"]
print(measure_udacity(lst))
 
2
 
بہت خوب صابر بھائی۔۔۔ !

ڈاٹ فائنڈ کا میتھڈ میرے لئے نیا ہے۔ اگر آپ وضاحت کرسکیں کہ یہ اور اس کے آرگیومینٹس کیا کام کررہے ہیں۔

اسٹرنگ کے متعدد فنکشن اور طریقوں پر ایک علیحدہ دھاگہ ہوگا جس میں عمومی استعمال کے فنکشن اور ان کا استعمال زیر بحث آئے گا۔
 
Top