Trainings of Python_01

(本练习运用之前的知识点,会持续更新)
① 要求: 截尾数组的平均数、众数、中位数。

def mode(l):#众数
    d, key, value = {l[0]:1},l[0], 1
    for i in range(1,len(l)):
        if(l[i-1] != l[i]): value,key = 1,l[i]
        else : value += 1
        d.update({key:value})
    return list(d.keys())[list(d.values()).index(max(d.values()))]

def median(l): #中位数
    if (len(l)%2 == 0):
        return l[len(l)//2]+l[len(l)//2+1]
    else:
        return l[len(l)//2]

l1 = sorted([eval(x) for x in input("请输入一串数字,以逗号分隔:\n>>>").split(",")])#输入数字并排序
l2 = [l1[x] for x in range(1,len(l1)-1)] #去除最大最小值
print(f"去除最大最小值后,您的输入是:{l2}")
aver_l2 = sum(l2)/len(l2) #平均数
print("中位数是{}".format(median(l2)))
print("平均数是{}".format(aver_l2))
print("众数是{}".format(mode(l2)))

② 要求:生成随机验证码并验证。

import random
import itertools
l = [chr(random.choice(list(itertools.chain(range(48,57),range(65,90),range(97,122))))) for x in range(6)]
stri = "".join(l)
print(f"您收到验证码:{stri}")
k = False
while (k == False):
    instri = input("请输入验证码:")
    k = instri==stri
    print(["输入错误","输入正确"][k])

③ 要求:输入10进制数,转化成R进制

decNum = int(input("Input the decimal number:"))
R = int(input("Input the Conversion Radix:"))
ListR = []
temp = decNum
i = 0
while(temp>=1):
    ListR.append(temp%R)
    temp = int(temp/R)
ListR.reverse()
dict = {0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:"A",11:"B",12:"C",13:"D",14:"E",15:"F",16:"G",17:"H",18:"I",19:"J",20:"K",21:"L",22:"M",23:"N",24:"O",25:"P",26:"Q",27:"R",28:"S",29:"T",30:"U",31:"V",32:"W",33:"X",34:"Y",35:"Z"}
print(f'The number converses from {decNum}D to Radix"{R}" is ',end ="" )
for k in range(len(ListR)):
    print(dict.get(ListR[k]),end = "")

④ 要求:n阶汉诺塔的解法

def hanoi(n,x,y,z):
    if n == 1:
        print(f"{x}→{z}",end='\t')
    else:
        hanoi(n-1,x,z,y)
        print(f"{x}→{z}",end='\t')
        hanoi(n-1,y,x,z)

n = int( input("请输入阶数:"))
hanoi(n,'A','B','C')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 0.目录 浮点数的表示 加减 存储格式 特殊的数 1.浮点数的表示 1.1 表示格式 浮点数,顾名思义,是小数点不...
    lllnan阅读 6,099评论 0 1
  • abbreviation 简写符号;简写 absolute error 绝对误差 absolute value 绝...
    沧海一睹阅读 10,238评论 0 2
  • 世界上没有两片相同树叶,同理,世界上也没有完全相同的人。每个人在世界上都是独一无二,是绝版正品,每个人都是奇迹。通...
    正本阅读 3,382评论 5 7
  • 文/往事如梦 “云中谁寄锦书来,雁字回时月满西楼。花自飘零,水自流,一种相思,两处闲愁。此情无计可消除,才下...
    往事如梦a阅读 3,709评论 0 13

友情链接更多精彩内容