该练习题均从网上查找,但是每道题的程序是我自己写的,编程水平较差,还望各位看官指正。
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)) 更多技术资讯可关注:itheimaGZ获取 |
|