第一次作业
用你的理解解释一下什么是可迭代对象,什么是迭代器。
可迭代对象:
可以进行更新的一个 实实在在的值
内部含有"iter"方法的对象
迭代器:可更新迭代的工具
有'__iter__'方法并且含有'__next__'方法的对象就是迭代器
如何判断该对象是否是可迭代对象或者迭代器?
dir(对象)   判断 "iter"and "next"   是否为真
iter
例如:
a=dir("sadas")
if "__iter__" and "__next__" in a:
    print("迭代器")
else:
    print("不是迭代器")
	
写代码:用while循环模拟for内部的循环机制(面试题)。
实际上是 将可迭代对象转换为迭代器
l1=[1,23,4,6,5,6,56]
obj=iter(l1)
while 1:
	try:
		print(next(obj))
	except StopIteration:
        break
		
		
写函数,传入n个数,返回字典
def (*args):
	
	return {"max":max(*args),’min’:min(*args)}
	
def a(*args):
    return {"max": max(*args),"min":min(*args)}
print(a(12,23,12,23,56,89,78,45))
写函数,传入一个参数n,返回n的阶乘
例如: cal(7)
计算7654321
# def func(num):
#     count = 1
#     for i in range(num, 0, -1):
#         count = count * i
# func(10)
写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组(选做题)
例如:[(‘红心’,2), (‘草花’,2), …(‘黑桃’,‘A’)]
l1=["A"]+[i for i in range(2,11)]+["J","Q","K"]
l2=["红心","草方","黑桃","梅花"]
def a():
    l=[]
    for i in l1:
        for j in l2:
            l.append((j,i))
    return l
print(a())
写代码完成99乘法表.(选做题,面试题)
1 * 1 = 1
2 * 1 = 2
2 * 2 = 4
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
......
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
for i in range(1,10):
    for j in range(1,10):
        if i<j:
            break
        else:
            s=int(j*i)
            print (f'{i} * {j}={s}')
    print("")
    对代码有疑问欢迎交流 
一个python爱好者 :
微信:at8685b
                    
                
                
            
        
浙公网安备 33010602011771号