Day 2: 作业
"""
1.总结Python2与Python3中的都有哪些存放整型数的类型
"""
Python2: int 和 long 是存放整型数的类型
Python3: int 是存放整型数的类型
"""
2.有num=3.14,需要在控制台打印的结果为:03.140
"""
num = 3.14
print("%06.3f" %3.14) #结果03.140
"""
3.从键盘中录入两个0~100之间的整数,打印两个数之和,如果录入信息错误,需重新录入
"""
i = 1
value = []
while True:
num = input('请输入两个0~100之间的整数')
if i == 0:
print('录入结束')
break
if num.isdigit():
num = int(num)
if num <= 100:
value.append(num)
i -= 1
else:
print('数值过大')
else:
print('数据非法')
value_total = 0
for v in value:
value_total += v
print('和为:%s' % value_total)
'''另一种做法'''
sum = 0
for i in range(1, 3):
flag = ''
while True:
num = input('请%s输入第%s个数:' % (flag, i))
if num.isdigit():
num = int(num)
if num <= 100:
sum += num
break
else:
print('数值过大!')
else:
print('输入不合法!')
flag = '再次'
print('sum:', sum)
"""
4.找出目标元组 (30, 21, 53, 98, 27, 69) 中的最大数、最小数以及所有数的平均值
"""
t = (30, 21, 53, 98, 27, 69)
n_t = list(t)
n_t.sort()
print('最大值为:%s' %n_t[len(n_t)-1])
print('最小值为:%s' %n_t[0])
t_total = 0
for tt in n_t:
t_total += tt
print('平均值为:%s' %(t_total / len(n_t)))
#结果:
最大值为:98
最小值为:21
平均值为:49.666666666666664
s4 = '{} is {}'.format('Owen', 'Teacher')
print(s4) # Owen is Teacher
"""
5.统计元组 (1, 2, '3', '4', 5, '6', '7') 中有多少个字符串,提示:isinstance()
"""
t = (1, 2, '3', '4', 5, '6', '7')
count = 0
for e in t:
if isinstance(e, str):
count += 1
print(count)
"""
1.找出目标元组(30, 21, 53, 98, 27, 69)中的最大数、最小数以及它们所占的索引,所有结果存放在list中
"""
t = (30, 21, 53, 98, 27, 69)
max_t = min_t = t[0]
max_index = min_index = t.index(t[0])
for i in t:
if max_t < i:
max_t = i
max_index = t.index(i)
if min_t > i:
min_t = i
min_index = t.index(i)
res_t = [(max_t, max_index),(min_t, min_index)]
print(res_t)
#结果:[(98, 3), (21, 1)]
"""
2.将目标元组 (1, 2, 1, 2, 3, 5, 9) 形成去重后的元组 (1, 2, 3, 5, 9)
"""
t = (1, 2, 1, 2, 3, 5, 9)
temp = []
for i in t:
if i not in temp:
temp.append(i)
t = tuple(temp)
print(t)
"""
3.将字符串 "name:Owen|age:18|gender:男" 转换为字典 {'name': 'Owen', 'age': 18, 'gender': '男'}
"""
source = "name:Owen|age:18|gender:男"
target = {}
for t_v in source.split("|"):
t, v = t_v.split(":")
if v.isdigit():
v = int(v)
target[t] = v
print(target)
"""
4.有5个人 ('Owen', 'Zero', 'Egon', 'Jerry', 'Nick') 进行街舞表演,依次上场表演,控制台打印 **表扬街舞,然后评委打分(控制台录入),得到 [('Owen', 90), ('Zero', 40), ('Egon', 70), ('Jerry', 65), ('Nick', 85)],最后将这些人按照得分进行分组,60分以下淘汰,80分及以上通过,其余待定,得到
{
"通过": [('Owen', 90), ('Nick', 85)]
"待定": [('Egon', 70), ('Jerry', 65)]
"淘汰": [('Zero', 40)]
}
最终公布
"""
people = ('Owen', 'Zero', 'Egon', 'Jerry', 'Nick')
grade_list =[]
pass_list = []
wait_list = []
loss_list = []
for p in people:
print('%s表演街舞' %p)
score = int(input('请输入分数'))
p_grade =(p, score)
grade_list.append(p_grade)
if score < 60:
loss_list.append(p_grade)
elif score < 80:
wait_list.append(p_grade)
else:
pass_list.append(p_grade)
last = {
"通过": pass_list,
"待定": wait_list,
"淘汰":loss_list
}
print(last)