Python基础第5日

for循环

#计算0-100奇数偶数累加和
sum_all=0
sum_odd=0  #奇数和
sum_even=0  #偶数和

for x in range(101):
    sum_all+=x
    if x%2==1:
        sum_odd+=x
    if x%2==0:
        sum_even+=x
print("1-100所有数的和为{0},奇数和为{1},偶数和为{2}",sum_all,sum_odd,sum_even)

循环嵌套

# 循环嵌套
for x in range(5):
    for y in range(5):
        print(x,end="\t")
    print(end='\n')
#更改输出格式
for x in range(5):
    for y in range(5):
        print(y,end='\t')
    print(end='\n')

# 打印九九乘法表
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('\n')
# 员工数量与工资明细
NUM=0
salary=[]
SUM=0
while True:
    s=input("输入的薪资(按Q结束)")

    if s.upper()=='Q':
        print('退出')
        break
    if float(s)<0:
        continue
    NUM+=1
    salary.append(float(s))
    SUM+=float(s)
print("员工数:",NUM)
print('薪资明细',salary)
print('平均薪资:',SUM/NUM)

#else在正常循环条件下执行,被中断不执行,即break后不执行

循环代码优化

内循环尽量少计算
列表插入尽量在列表尾部
连接多用join(少用+)

# 循环代码优化
# zip并行迭代
names=("老大","老二",'老三','老四')
ages=(18,16,20,27)
jobs=('程序员','厨师','教师')
for name,age,job in zip(names,ages,jobs):
    print('{0}--{1}--{2}'.format(name,age,job))

推导式创建序列

# 推导式
# 列表推导式
y=[x*2 for x in range(1,5)]
print(y)

y=[x*2 for x in range(1,5) if x%2==0]
print(y)
# 字典推导式
my_text='I love you, i love set'
char_count={d:my_text.count(d) for d in my_text}
print(char_count)


# 循环实现
w={}
for d in my_text:
    w.setdefault(d,my_text.count(d))
print(w)

# 生成器推导式
gnt=(x for x in range(10))
for x in gnt:
    print(x,end=',')
print(tuple(gnt))

函数

`# 函数

测试形参实参

# 函数
# 测试形参实参
def printMax(a,b):
    '''用于比较两个数的大小'''
    if a>b:
        print(a)
    if a<b:
        print(b)

printMax(10,20)
help(printMax.__doc__)

# 函数
# 测试形参实参
def printMax(a,b):
    '''用于比较两个数的大小'''
    if a>b:
        print(a)
    if a<b:
        print(b)

printMax(10,20)
help(printMax.__doc__)

# 返回值
# 不写return,默认返回none
def add(a,b):
    print("计算量个数的和,{0},{1},{2}".format(a,b,(a+b)))
    return a+b

def test_02():
    print('sxt')
    print('gao')
    return   #返回值或结束执行,无返回值none

def test_03(x,y,z):
    return(x*10,y*10,z*10)
c=add(30,40)
print(c)
d=test_02()
print(d)
print(test_03(10,20,30))

`*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值