一篇更新五题Python基础入门题,包括分析易错点!!!
目录
例题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)