python期末考试考到的几道题

求两个数的最大公约数和最小公倍数(辗转相除法)

a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
if a < b:        #如果a<b则将a,b两数调换使大数作为被除数
    a, b = b, a
    t = a % b        #大数除小数得一个余数赋给t
    p = a * b        #将两数的乘积赋给p
while t != 0:
    a = b       # 当余数不为0时,将b赋给a
    b = t       #将余数赋给b
    t = a%b     #继续将a除以b的余数赋给t
    print( "相除法得最大公约数为:", b )    #当余数为0时,输出b即为最大公约数
print( "相除法得最小公倍数:", int(p/b) ) #用两数乘积除以最大公约数即为最小公倍数

运行结果
在这里插入图片描述

用1.2.3.4.5这五个数字能组成多少个不同的三位数

tar = [1, 2, 3, 4, 5];
cnt = 0 #对结果进行计数
for i in range(len(tar)):   #确定百位数字
    t1=tar.copy()   #操作临时变量,防止改变tar的值,影响下次循环
    x=str(t1.pop(i))    #取出指定的i位置的数字作为百位数字
    for j in range(len(t1)):    #确定十位数字
        t2=t1.copy()    #如上,防止改变t1,影响下次循环
        y=str(t2.pop(j))
        for k in range(len(t2)):    #确定个位数字
            print(x+y+str(t2[k]), end=' ')
            cnt += 1
    print('')
print("结果是:{}个".format(cnt))

运行结果
在这里插入图片描述

随机产生100个整数(0-100),放入一个列表中,统计每个数字出现的次数,结果用字典保存。

# 1.存放随机数列表
number = []
# 2.循环100次
for i in range(0, 100):
    # 3.生成随机数
    num = random.randint(0,100)
    # 4.添加到列表中
    number.append(num)
# 5.统计每一个数字出现的次数
result = {}
# 5.1 把数字作为key,出现的次数作为值
# 循环遍历每一个数字
for num in number:
    # 判断字典中是否有num这个key
    if num in result.keys():
        # 让数字对应的次数+1
        result[num] += 1
    else:
        # 以数字作为key,值为1次
        result[num] = 1
print(result)

运行结果
在这里插入图片描述

统计字符串中每个字符的个数,并写入字典

strin = input("请输入一个字符串:")
result={}
for i in strin:
    result[i] = strin.count(i)
print(result)

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值