该练习题均从网上查找,但是每道题的程序是我自己写的,编程水平较差,还望各位看官指正。
1.随机生成两个小于100的整数,打印其中一个数的数据类型和存储地址,
求这两个数的和、差、积、商、幂运算.
import random
num1 = random.randint(1,100)
num2 = random.randint(1,100)
print("这两个数为:%d,%d"%(num1,num2))
print("num1的类型为:%s"%(type(num1)))
print("num1的内存地址为:%d"%(id(num1)))
sum = num1 + num2
print("两个数的和为:%d"%(sum))
dif = num1 - num2
print("两个数的差为:%d"%(dif))
pro = num1 * num2
print("两个数的积为:%d"%(pro))
dea = num1 / num2
print("两个数的商为:%d"%(dea))
2.求梯形的面积:输入上底和下底和高,输出面积。面积要求保留两位有效数字,
如果输入不是数字,通过异常处理捕捉,并重新输入。
def calc():
top = int(input("输入梯形的上底:"))
bottom = int(input("输入梯形的下底:"))
heigh = int(input("输入梯形的高:"))
area = ((top + bottom)*heigh)/2
print("该梯形的面积为:%0.2f"%(area))
while 1:
try:
calc()
break
except:
print("输入错误,请重新输入!")
3.输入一个四位整数,输出它逆序数。
num = input("请输入一个四位整数:")
print(num[::-1])
4.随机生成一个列表a,10个元素。打乱顺序,然后求a的最大值,最小值,和,平均值,显示从大到小的顺序
import random
a = []
sum = 0
for i in range(0,10):
num = random.randint(1,100)
a.append(num)
a.sort(reverse=True)
print("a中的最大值为:%d"%(a[0]))
print("a中的最小值为:%d"%(a[-1]))
for j in range(0,len(a)):
sum += a[j]
print("a的和为:%d"%(sum))
ave = (a[4]+a[5])/2
print("a的平均值为:%d"%(ave))
print(a)
5.随机生成一个列表a,10个元素都小于10.插入元素5,在第六个位置插入元素99,输出最大值,输出奇数位的值(不是很懂这道题的意思)。
import random
a = []
for i in range(0,10):
num = random.randint(1,10)
a.append(num)
print(a)
6.通信录的例子,实现通信录,类似功能如下,练习字典的访问。
“”“小王”:“111”,“小李”:“112”,…}
欢迎进入通信录
1、查询联系人资料(查 指定人)
2、插入新的联系人(存在,修改,不存在添加)
3、删除已有联系人(删除)
4、查看所有联系人
5、退出通信录
“”"
con = {}
while 1:
print("="*30)
print("欢迎进入通信录")
print("1、查询联系人资料(查指定人)")
print("2、插入新的联系人(存在修改,不存在添加)")
print("3、删除已有联系人(删除)")
print("4、查看所有联系人")
print("5、退出通信录")
print("="*30)
choose = int(input("请输入选项:"))
if choose == 1:
serch_name = input("请输入姓名:")
if serch_name in con.keys():
print(con[serch_name])
else:
print("未找到此联系人!")
elif choose == 2:
add_name = input("请输入姓名:")
add_num = input("请输入电话:")
con[add_name] = add_num
print("添加成功!")
elif choose == 3:
del_name = input("请输入姓名:")
if del_name in con.keys():
con.pop(del_name)
print("删除成功!")
else:
print("未找到联系人,删除失败!")
elif choose == 4:
for key in con:
print("%s:%s"%(key,con[key]))
elif choose == 5:
print("谢谢使用,再见!")
exit()
7.多级字典的访问
创建如下:信息
“四川”:“成都”:“青城山”,“都江堰”,“宽窄巷子”
“广元”:“剑门关”,“川信”,“红星公园”
输出:川信
addr = {"四川":{"成都":["青城山","都江堰","宽窄巷子"],
"广元":["剑门关","川信","红星公园"]}}
print(addr["四川"]["广元"][1])
8.猜数字
随机生成一个数(1-20),输入一个数,如果是相等,
输出猜对了 ,程序结束,
如果猜小了,就输出猜小了,继续猜,
如果猜大了,就输出猜大了,继续猜
只有三次猜的机会,超过三次,游戏结束
import random
num = random.randint(1,20)
i = 3
while i>0:
inp_num = int(input("请输入一个数(0-20):"))
if inp_num == num:
print("恭喜你,猜对了!")
exit()
if inp_num > num:
print("猜大了,继续猜!")
if inp_num < num:
print("猜小了,继续猜!")
i -= 1
print("游戏结束,你输了!")
exit()
9.编写函数,输入年份,判断是否是闰年
year = int(input("请输入年份:"))
if year%4 == 0:
print("%d是闰年"%(year))
else:
print("%d不是闰年"%(year))
10.编写函数,输入数字,判断是否是素数
import math
flage = True
num = int(input("请输入一个数字:"))
if num == 2:
print("2是一个素数")
else:
for i in range(2,int(math.sqrt(num)+1)):
if num%i == 0:
flage = False
break
if flage == True:
print("%d是一个素数"%(num))
else:
print("%d不是一个素数"%(num))
|
|