20181031作业

 

写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.

例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’

.方法一.def func(lst):
    ll = []
    for i in lst:
        ll.append(str(i))
    return '_'.join(ll)
print(func([6,'念念不住','缘起']))

方法二.

def func(lst):
    s = ''
    for i in lst:
        s = s+ str(i)+'_'
    return s.strip('_')
print(func([6,'念念不住','缘起']))

 

(先从纸上写好答案,然后在运行):

1,有函数定义如下:

def calc(a,b,c,d=1,e=2):

return (a+b)*(c-d)+e

请分别写出下列标号代码的输出结果,如果出错请写出Error。

print(calc(1,2,3,4,5))__2___

print(calc(1,2))____

print(calc(e=4,c=5,a=2,b=3))_24__

print(calc(1,2,3))___8__

print(calc(1,2,3,e=4))__10__

print(calc(1,2,3,d=5,4))_____

2,(此题有坑)下面代码打印的结果分别是___None______,___None_____,____None____.

def extendList(val,list=[]):
     list.append(val)
     return list
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')

print('list1=%s'%list1)
print('list2=%s'%list2)
print('list3=%s'%list3)

   

  1. 打印图形

.i = 1

while i <= 5:

#打印空格

    j = 1

    while j <= 5-i:

        print(' ', end="")

        j += 1    

#打印"*"

    a = 1

    while a <= 2*i-1:

        print('*', end="")

        a += 1

    print('')

    i += 1

  1. 1-100内所有的质数的和(升级题)

def shu(n):

    if n==1:

        return 1

    if n==2:

        return 2

    for i in range(2,n):

        if (n%i)==0:

            return 0

    else:

        return n

list=[]

for i in range(2,100):

    z=shu(i)

    list.append(z)

s=sum(list)

print(s)

 

1,什么是闭包。

.闭包就是内层函数, 对外层函数(非全局)的变量的引⽤. 叫闭包

2,迭代器的特点

.a. 节省内存. b. 惰性机制 c. 不能反复, 只能向下执⾏.

3,while循环模拟for循环(写具体代码)。

.s1 = 'ABCDEF'
it = s1.__iter__()  
while 1:
    try:               
        el = it.__next__()
        print(el)  
    except StopIteration:
        print('ok')
        break

 

原文地址:https://www.cnblogs.com/chenshanqin/p/9884507.html