1、随机生成一个列表a,10个元素。打乱顺序,然后求a的最大值,最小值,和,平均值,显示从大到小的顺序(最大值,最小值,和都不能分别使用max(),min(),sum()实现)
import random
num = range(0, 100) # 范围在0到100之间,需要用到range()函数。
a = random.sample(num, 10) # 选取10个元素
print(f"原来的列表a:{a}")
for i in range(len(a)): #冒泡排序
for j in range(1, len(a) - i):
if a[j - 1] > a[j]:
a[j - 1],a[j] = a[j],a[j - 1]
a_MaxNum = a[-1]
a_MinNum = a[0]
a_Sum = 0
for i in range(len(a)):
a_Sum += a[i]
a_Avg = a_Sum//len(a)
print(f"排序后的列表a:{a}\n最大值:{a_MaxNum}\n最小值:{a_MinNum}\n和:{a_Sum}\n平均数:{a_Avg}")
import random
num = range(0, 100) # 范围在0到100之间,需要用到range()函数。
a = random.sample(num, 10) # 选取10个元素
print(f"原来的列表a:{a}")
a.sort()
a_MaxNum = a[-1]
a_MinNum = a[0]
a_Sum = 0
for i in range(len(a)):
a_Sum += a[i]
a_Avg = a_Sum // len(a)
print(f"排序后的列表a:{a}\n最大值:{a_MaxNum}\n最小值:{a_MinNum}\n和:{a_Sum}\n平均数:{a_Avg}")
2、有红、黄、绿三种颜色的球,其中红球 3 个, 黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。输出情况总数
for i in range(4):
for j in range(4):
k = 8 - i - j
if k in range(7):
print(f'red:{i}, yello:{j}, green:{k}')
3、统计不同字符个数。用户从键盘输入一行字符串,编写一个程序,统计并输出其中英文、数字、空格和其他字符的个数。
str1 = input('please input:')
str_alpha = 0
str_digit = 0
str_space = 0
str_other = 0
for i in str1:
if i.isalpha():
str_alpha += 1
elif i.isdigit():
str_digit += 1
elif i.isspace():
str_space += 1
else:
str_other += 1
print(f"alpha:{str_alpha}, digit:{str_digit}, space:{str_space}, other:{str_other}")
4、编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。
import random
num = range(0, 1000)
li = random.sample(num, 50) # 选取50个元素
li1 =[]
for i in range(50):
if li[i] % 2 == 0:
li1.append(li[i])
print(f'原来的列表:{li}\n删除奇数后的列表{li1}')
5、字符串的拼接 str1 = input(“请输入一个人的名字:”) str2 = input(“请输入一个地点:”)用字符串格式中三种方法实现字符串拼接
str1 = input('plesa input str1:')
str2 = input('plesa input str2:')
str3 = input('plesa input str3')
str4 = str1 + str2 + str3
str5 =f'{str1}{str2}{str3}'
str6 ="{0}{1}{2}".format(str1,str2,str3)
print(str4)
print(str5)
print(str6)
6、用户通过键盘输入两个直角边的长度a 和 b,需要计算斜边c的长度
a,b=map(float,input('请输入直角三角形的两条直角边的边长(用空格隔开)a,b:').split())
c = (a**2 + b**2) ** 0.5
print(c)
7、设计一个字典dict1,name键为用户名,password为密码。设计一个注册登录的程序,将用户名和密码注册到字典中,然后进行登录,用户名和密码都正确时输出‘欢迎(用户名)登录’信息,用户名或密码不正确则提示‘用户名或密码错误,请重新登录!’
names = []
dict1 = dict()
while True:
a = input("请选择:\n1.注册\n2.登录\n3.关闭")
if a == '1':
name, passwd = input('请输入您要注册的用户名以及密码并用空格隔开').split()
if name in names:
print('用户名已被注册,请登录,或者注册新的用户名')
else:
y = input(f'请确认您的用户名以及密码:\nname:{name}\npassword:{passwd}\n 输入y确认')
if y.lower() == 'y':
names.append(name)
dict1[name] = passwd
print('注册成功,请登录')
else:
print('注册失败,请重新注册')
elif a == '2':
name1, passwd1 = input('请输入您要登录的用户名以及密码并用空格隔开').split()
if dict1.get(name1) == None:
print('您输入的用户名不存在,请重新输入')
elif dict1.get(name1) == passwd1:
print(f'欢迎用户{name1}登录')
break
elif dict1.get(name1) != passwd1:
print('您输入的用户名或者密码不正确,请重新输入')
elif a == '3':
print('正在退出请稍后')
break
else:
print('请重新输入')
8、求两个数的最大公约数以及最小公倍数
a, b = map(int,input('请输入2个整数a,b 用空格隔开').split())
if a<b:
a,b=b,a
for i in range(1, a+1):
if a % i == 0 and b % i == 0:
c=a*b/i
print(f'{i}是{a}和{b}的最大公约数数')
print(f'{int(c)}是{a}和{b}的最小公倍数')
9、编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,范围是1-100
li = []
for i in range(101):
if i % 7 == 0 and i % 5 != 0:
li.append(i)
print(li)
10、编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词。假设向程序提供以下输入:
without,hello,bag,world
则输出为:
bag,hello,without,world
li = list(map(str, input('please input:').split(',')))
li.sort()
print(li)
11、判断101-200之间有多少个素数,并输出所有素数。(一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数叫素数)
li = []
for i in range(101, 201):
for j in range(2, i):
if i % j == 0:
break
else:
li.append(i)
print(li)
12、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
while True:
scores = input('please input your scores:')
if scores.isdigit() == True:
if int(scores) >= 90:
print("you get an 'A'")
elif int(scores) >= 60 and int(scores) <= 89:
print("you get a 'B'")
else:
print("you get a 'C'")
break
else:
print('input error')
13、使用*符,输出左上角三角形跟右下角三角形。如:
#左上
for i in range(10):
for j in range(10-i):
print('*',end=' ')
print()
#左下
for i in range(10):
for j in range(i):
print('*',end=' ')
print()
#右上
for i in range(10):
for j in range(10):
if j in range(i):
print(' ', end=' ')
else:
print('*', end=' ')
print()
#右下
for i in range(10):
for j in range(10):
if j in range(i):
print('*', end=' ')
else:
print(' ', end=' ')
print()
14、输入三个整数x,y,z,请把这三个数由小到大输出。
list1 = list(map(int, input('请输入三个整数x,y,z,并用空格隔开').split()))
list1.sort()
print(list1)
print(list1[0],list1[1],list1[2])
x, y, z = map(int, input('请输入三个整数x,y,z,并用空格隔开').split())
if x> y:
if y>z: #x>y y>z -> x>y>z
print(x,y,z)
elif x>z: #x>y y<z x>z -> x>z>y
print(x,z,y)
else: #x>y y<z x<z -> z>x>y
print(z,x,y)
elif x>z: #x<y x>z -> y>x>z
print(y,x,z)
elif y>z: #x<y x<z y>z -> y>z>x
print(y,z,x)
else: #x<y x<z y<z -> z>y>x
print(z,y,x)
15.一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼 子里面脚的总数 100,问笼子里面有多少只鸡和多少只兔子
for chickens in range(51):
for rabits in range(26):
if 2 * chickens + 4 * rabits == 100 :
print(f'chickens:{chickens:},rabits:{rabits}')
16.问题描述:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,如何买?
解析:已经知道公鸡5文钱一只,共有100文钱,若全买公鸡,最多为20只,若全买母鸡,最多为33只,若全买小鸡,最多300只
for roosters in range(26):
for hens in range(34):
for chicks in range(101 - roosters - hens):
if roosters + hens + chicks == 100 and roosters * 5 + hens * 3 + chicks // 3 <= 100:
print(f'roosters:{roosters},hens:{hens},chicks:{chicks}')
17.lst = [‘001’,’2019-11-11’,[‘三文鱼’,’电烤箱’]],a.在第二个位置插入一个元素’烤鸭’ b.将时间进行删除
lst = ['001', '2019-11-11', ['三文鱼', '电烤箱']]
lst.insert(1,'烤鸭')
print(lst)
lst.remove('2019-11-11')
print(lst)
18.去掉列表中的一个最小值和一个最大值后,计算剩余元素的平均值:lst=[9.1, 9.0,8.1, 9.7, 19,8.2, 8.6,9.8]
lst = [9.1, 9.0, 8.1, 9.7, 19, 8.2, 8.6, 9.8]
lst.sort()
lst.pop()
lst.pop(0)
print(lst)
sum_lst = 0
for i in range(len(lst)):
sum_lst += lst[i]
avg_lst = sum_lst // len(lst)
print(avg_lst)