Python入门基础50题(易错点)(三)

一篇更新五题Python基础入门题,包括分析易错点!!!

目录

例题11

例题12

例题13

 例题14

例题15


例题11

题目:录入员薪资,并计算打出录入员工数,薪资表,总发薪资表及平均薪资表

易错分析:在录入员工薪资部分要考虑到录入成功与失败的可能性,所以要用到continue和break。continue为跳过本次循环进行下一次循环,break为跳出整个循环。当结束录入时,用break,当录入错误时,用continue。

y_num = 0 #员工数
salarys=[] #薪资表
salarysum = 0 #薪资总数
while True:
    a = input('请输入员工的薪资(按W或者w结束):')
    #进行判断
    if a.upper()=='W':
        print('录入结束')
        break
    if float(a)<0:
        print('录入错误')
        continue

    #剩下一种情况就是录入正确的
    y_num += 1
    salarys.append(float(a))
    salarysum += float(a)

print('员工数{0}'.format(y_num))
print('录入薪资:',salarys)
print('总发薪资{0}'.format(salarysum))
print('平均薪资{0}'.format(salarysum/y_num))

例题12

题目:并行迭代多个序列

易错分析:第一种方法是用zip( )进行迭代,第二种方法是直接用循环

name = ('张三','李四','王五','五六')
age = (17,18,19,10)
job = ('前端','后端','码农')

#方法一 用zip()
for names,ages,jobs in zip(name,age,job):
    print('{0}--{1}--{2}'.format(names,ages,jobs))

#方法二 用循环
for i in range(min(len(name),len(age),len(job))):
    print('{0}--{1}--{2}'.format(name[i],age[i],job[i]))

例题13

题目:实现字典键值对的互换

myinfor = {'chengxuyuan':'0817','hangzhou':'9000'}
infor ={}
for k,v in myinfor.items():
    infor[v] = k
print(infor)
print(myinfor)

 例题14

题目:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

易错分析:这题要用到逆序思维,先从最后一天只剩一个开始倒推计算,前一天都是当天的数量加一再乘二,再交换一下当天和昨天的数据,再进行循环。

x1 = 1
for day in range(9,0,-1):
    y = (x1 + 1) * 2
    x1 = y
print(y)

例题15

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

易错分析:循环一次即可,输出1代表正确,0代表错误。

str='12321'
flag=1
for i in range(len(str)):
    if str[i]==str[len(str)-i-1]:
        flag=1
    else:
        flag=0
print(flag)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值