A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

该练习题均从网上查找,但是每道题的程序是我自己写的,编程水平较差,还望各位看官指正。

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))


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马