1.用户输入a、b两个列表,计算两个列表对应元素的乘积的累加和。如果列表长度不一致,则以较短的列表为主,忽略较长列表的其他元素。如列表a=[1,2,3],列表b=[4,5,6,7],则对应元素乘积的累加和为14+25+3*6=32。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 分别让用户输入两个列表a和b,初始和为0
a = eval(input("请输入列表1:"))
b = eval(input("请输入列表2:"))
result = 0
# 计算两列表对应元素的乘积的累加
for i, j in zip(a, b):
result += i*j
print(result)
2.随机生成20个在1(含)到999(含)之间的随机数,每个随机数后跟随一个逗号进行分隔,按照升序输出到屏幕上。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from random import randint
# 创建空列表存储数据
lst = []
for i in range(20):
# 在1~999随机生成20个数据,并放到lst列表中
a = randint(1, 999)
lst.append(a)
# 将列表中的升序排列的数据依次打印出,并使用逗号分隔
lst.sort()
for j in lst:
print(j, end=',')
要求用户输入若干常见的手机品牌,以字符串形式存入一个列表,并随机选择一个手机品牌输出到屏幕上。如[“华为”,”苹果”,”诺基亚”,”OPPO”,”小米”],随机输出为“小米”。
#!/usr/bin/env python # -*- coding:utf-8 -*- from random import choice # 让用户输入一个列表 phones = eval(input("请输入一个手机品牌的列表:")) # 随机输出一个手机品牌 print(choice(phones))
用户输入某毕业班各个同学就业的行业名称,行业名称之间用空格间隔(回车结束输入)。要求统计各行业就业的学生数量,按数量从低到到方式输出。
如输入:交通 金融 计算机 交通 计算机 计算机,
输出格式为(其中冒号为英文冒号)
计算机: 3
交通: 2
金融: 1
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 让用户分别输入每个同学就业的行业名称
jobsName = input("请输入各个同学行业名称,行业名称之间用空格间隔(按回车结束输入):")
# 将用户输入的行业分隔后存储到列表中
jobsName = jobsName.split()
# 创建空字典用于存储行业以及行业对应的人数
result = {}
for i in jobsName:
# 计算每个数量的人数,每个行业(键)对应的值为相应的个数
result[i] = jobsName.count(i)
# 将字典中的值放在一个列表中,并且按照数量进行排序
lst = list(result.items())
lst.sort(key=lambda x: x[1], reverse=True)
# 按照数量的排序,依次输出行业及对应的人数
for k in range(len(lst)):
a, b = lst[k]
print("{}:{}".format(a, b))
5.中国南北朝时期(公元5世纪)的数学著作《孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下:“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”。即,一个整数除以三余二,除以五余三,除以七余二,求这个整数是多少?
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 使用枚举法依次测试每个整数,直到出现结果
n=1
# 每个数据依次尝试,先让n除以三余二
while n % 3 != 2:
n += 1
# 满足除以三余二后,每次让n增加3(确保上面的条件仍然满足)来满足除以五余三
while n % 5 != 3:
n += 3
# 满足除以五余三后,每次让n增加15(确保前面两个条件仍然满足)来满足除以七余二
while n % 7 != 2:
n += 15
# 输出结果
print("这个整数的值为:{}".format(n))
6.(选做)猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃子?
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 倒这考虑,前一天的桃子数量为当天的数量加1后乘以二即可
# 根据题目,第10天早上的桃子为1个,即第九天吃完还剩1个
day = 10
number = 1
# 倒着计算9次即可计算出第一天摘的桃子数量
for i in range(day-1):
# 前一天的个数为当前天的+1后*2
number = (number+1)*2
print(number)