5.循环以及函数的练习

print('hello world')
#for 循环

for i in (10,20,30,40):
    print(i*90)
for i in 'abcdefg':
    print(i)

##遍历字典
a={'name':'yang','age':18,'job':'student'}
for i in a:
    print(i)
for i in a.keys():
    print(i)
for i in a.values():
    print(i)
for i in a.items():
    print(i)

##使用for循环计算从0加到100
sum_all=0
sum_odd=0
sum_even=0
for i in range(101):
    sum_all+=i
    if i%2==1:
        sum_odd+=i
    else:
        sum_even+=i
print('自然数之和为{0},奇数之和为{1},偶数之和为{2}'.format(sum_all,sum_odd,sum_even))
###另一种方法
sum_all=0
sum_odd=0
sum_even=0
for i in range(101):
    sum_all+=i
for i in range(1,100,2):
    sum_odd+=i
for i in range(2,101,2):
    sum_even+=i
print(sum_all,sum_odd,sum_even)


##嵌套循环
for i in range(6):
    for x in range(6):
        print(i,end='\t')
    print()
###使用列表和字典存储表格的数据
p1={'name':'yang','age':20,'salary':10000}
p2={'name':'zhang','age':30,'salary':20000}
p3={'name':'zhao','age':40,'salary':30000}
tb=[p1,p2,p3]
for i in tb:
    if i.get('salary')>15000:
        print(i)
###打印乘法口诀表
for m in range(1,10):
    for n in range(1,m+1):
        print('{0}*{1}={2}'.format(m,n,(m*n)),end='\t')
    print()

##break
while True:
    a=input('请输入一个字符(若输入q或者Q则结束:')
    if a=='q' or a=='Q':
        print('循环结束')
        break
    else:
        print(a)



##continue
emNum=0
salarySum=0
salarys=[]
while True:
    a=input('输入员工的工资,输入q结束')
    if a=='q':
        print('结束')
        break
    if float(a)<0:
        continue
    emNum+=1
    salarys.append(float(a))
    salarySum+=float(a)
print('员工数{0}'.format(emNum))
print('录入薪资:',salarys)
print('平均薪资{0}'.format(salarySum/emNum))


##else
emNum=0
salarySum=0
salarys=[]
for i in range(4):
    a=input('输入员工的工资,输入q结束')
    if a=='q':
        print('结束')
        break
    if float(a)<0:
        continue
    emNum+=1
    salarys.append(float(a))
    salarySum+=float(a)
else:
    print('已输入四位员工工资')
print('员工数{0}'.format(emNum))
print('录入薪资:',salarys)
print('平均薪资{0}'.format(salarySum/emNum))



##zip()并行运算
names=('yang','zhang','zhao','li')
jobs=('teacher','student','engineer')
age=(18,19,20,21)
for a,b,c in zip(names,jobs,age):
    print('{0}--{1}--{2}'.format(a,b,c))


#推导式
##列表推导式
a=[x**2 for x in range(30) if x%2==0]
print(a)

a=[]
for i in range(30):
    if i%2==0:
        a.append(i**2)
print(a)

##字典推导式
a='dyagduaig auifgauifgaiu'
b={c:a.count(c) for c in a}
print(b)
###使用常规方法


##集合推导式
a={x for x in range(100) if x%3==0}
print(a)

##生成器推导式(生成元组)
a=(i for i in range(5))
print(a)
print(tuple(a))


#综合练习
##画同心圆
import turtle
t=turtle.Pen()
t.width(3)
t.speed(0)
colors=('red','black','blue','green','yellow','pink')
for i in range(100):
    t.penup()
    t.goto(0, -i*10)
    t.pendown()
    t.color(colors[i%len(colors)])
    t.circle(10+i*10)

turtle.done()


##棋盘
import turtle
t=turtle.Pen()
t.speed(0)
for i in range(19):
    t.penup()
    t.goto(i*10,180)
    t.pendown()
    t.goto(i*10,0)
    t.penup()
    t.goto(180,i*10)
    t.pendown()
    t.goto(0,i*10)
turtle.done()


#函数
def a():
    print('87'*10)

a()

##函数的形参和实参以及文档字符串
def max(a,b):
    '''用于比较两个数的大小'''
    if a<b:
        print(b,"较大值")
    else:
        print(a,'较大值')
help(max.__doc__)
max(10,34)


##函数返回值的基本用法
def add(a,b):
    return a+b

a=(add(1,2))
print(a)

def t2():
    print(8)
    print(9)
    return
    print(3)

t2()
print(t2())

def t3(c,d,e):
    return [c+4,d+9,e-3]
print(t3(5,5,5))






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值