1. 编写一个程序,创建一个包含10个随机整数的列表,并统计列表中每个元素出现的次数。
list1 = [23,33,44,55,66,23,33,33,33,44]
dict1 = {}
for x in list1:
dict1[x] = list1.count(x)
print(dict1)2. 编写一个程序,创建一个包含10个随机整数的列表,并找出列表中的第二大值和第二小值。(稍难)
list1 = [23,33,44,55,66,23,33,44,23,66]
list1.sort()
min1 = min(list1)
max1 = max(list1)
for x in list1:
if x > min1:
min1 = x
break
while True:
if list1[-1] == max1:
del list1[-1]
else:
max1 = list1[-1]
break
print(min1,max1)
#方法二:
import random
nums = [random.randint(0, 99) for _ in range(10)]
newNums=[]
for x in nums:
if x not in newNums:
newNums.append(x)
newNums.sort()
print("第二大的是",newNums[-2],"第二小的是",newNums[1])3. 编写一个程序,输入三个数,判断它们是否能构成一个等腰三角形,并输出相应的提示信息。
shuru = int(input("请输入一个三位数:"))
ge = shuru % 10
shi = shuru // 10 % 10
bai = shuru // 100
if ge + shi > bai and ge + bai > shi and shi + bai > ge:
if ge == shi or ge == bai or shi == bai:
print("这个数可以构成等腰三角形")
else:
print("这个数不能构成等腰三角形")4. 编写程序判断num对应的整数是否是素数
num = int(input("请输入一个整数:"))
if (num % 2 == 0 and num != 2) or num < 2:
print("这个数不是素数")
elif num == 2 or num == 3:
print("这个数是素数")
else:
for x in range(3,num+1,2):
if num % x == 0:
print("这个数不是素数")
break
else:
print("这个数是素数")
break
#方法二:
num = 16
for x in range(2,num):
if num % x == 0:
print("num不是素数")
break
else:
print("num是素数")5.编写一个程序,使用循环打印出以下图形:
n = 3
***
**
*
n = 4
****
***
**
*
n =3 for x in range(n,0,-1): print(x*"*")
6.编写一个程序,输入一个年、月、日三个日期信息,计算该日期是该年的第几天(难)
nian = int(input("请输入年"))
yue = int(input("请输入月"))
ri = int(input("请输入日"))
yue2 = 28
tian = 0
if (nian % 4 == 0 and nian % 100 != 0) or (nian % 400 == 0):
yue2 = 29
else:
yue2 = 28
if yue == 1:
print(f"第{ri}天")
else:
for x in range(1,yue):
if x == 1 or x == 3 or x == 5 or x == 7 or x == 8 or x == 10 or x == 12:
tian += 31
elif x == 4 or x == 6 or x == 9 or x == 11:
tian += 30
else:
tian += yue2
print(f"第{tian+ri}天")7. 创建一个包含3个键值对的字典
dict1 = {
"a":10,
"b":"hello",
"c":"world!"
}8. 创建一个字典保存一个订单的数据,然后修改其中价格对应的键值对的值为100
dict1 = {
"订单号":10,
"价格":90,
"数量":1
}
dict1["价格"] = 100
print(dict1)9. 统计列表中每个元素的个数,以字典的形式返回(键是元素,值是对应的元素的个数)
list1 = [23,33,44,55,66,23,33,33,33,44]
dict1 = {}
for x in list1:
dict1[x] = list1.count(x)
print(dict1)10. 定义一个列表,在列表中保存多个学生的信息(学生信息中包括:姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
list1 = [
{"姓名":"张1","年龄":19,"成绩":98,"电话":"152123321","性别":"男"},
{"姓名":"张2","年龄":20,"成绩":59,"电话":"152223321","性别":"女"},
{"姓名":"张3","年龄":22,"成绩":60,"电话":"152323328","性别":"不明"},
{"姓名":"张4","年龄":16,"成绩":30,"电话":"152423321","性别":"女"},
{"姓名":"张5","年龄":24,"成绩":77,"电话":"152523328","性别":"男"},
{"姓名":"张6","年龄":19,"成绩":88,"电话":"152623321","性别":"女"},
{"姓名":"张7","年龄":30,"成绩":91,"电话":"152923321","性别":"男"},
]1)统计不及格学生的个数
count = 0 for x in list1: if x["成绩"] < 60 : count += 1 print(count)
2)打印不及格未成年学生的名字和对应的成绩
for x in list1: if x["成绩"] < 60 and x["年龄"]< 18: print(x["姓名"],x["成绩"])
3)求所有男生的平均年龄
count = 0
nianling = 0
for x in list1:
if x["性别"] == "男":
count += 1
nianling += x["年龄"]
print(f"平均年龄是{nianling / count}")4)打印手机尾号是8的学生的名字
for x in list1: if int(x["电话"]) % 10 == 8: print(x["姓名"])
5)打印最高分和对应的学生的名字
max1 = list1[0]["成绩"]
for x in list1:
if x["成绩"] > max1:
max1 = x["成绩"]
print("最高分是:",max1)
for x in list1:
if x["成绩"] == max1:
print("最高分对应的学生",x["姓名"])6)删除性别不明的所有学生
for x in range(len(list1)-1,-1,-1): if list1[x]["性别"] == "不明": del list1[x] print(list1)
11. 编写一个程序,创建一个字符串变量,并打印出该字符串的长度。
a = "abcdefg" count1 = 0 for x in a: count1 += 1 print(count1)
12.编写一个程序,创建一个字符串变量,并打印出该字符串的第一个字符。
a = "abcdefg" print(a[0])
13.编写一个程序,创建一个字符串变量,并打印出该字符串的最后一个字符。
a = "abcdefg" print(a[-1])
14. 编写一个程序,创建一个字符串变量,并打印出该字符串的倒序。
a = "abcdefg" newA = "" for x in range(len(a)-1,-1,-1): newA += a[x] print(newA)
15.编写一个程序,创建一个字符串变量,并检查该字符串是否以某个指定的子字符串开头。
a = "abcdefg"
b = "ab"
if b == a[0:len(b)]:
print("是")
else:
print("否")16.编写一个程序,创建一个字符串变量,并检查该字符串是否以某个指定的子字符串结尾。
a = "abcdefg"
b = "ab"
if b == a[-len(b):]:
print("是")
else:
print("否")