python练习1

本文探讨了Python编程中的阿姆斯特朗数概念,即一个数的每位数字的立方和等于该数本身。此外,还介绍了如何从用户输入中接收并排序整数,计算平均值和中位数。最后提到了设计一个密码生成函数,该函数可以根据用户指定的长度生成包含大小写字母、数字和非字母数字字符的复杂密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 在三位的整数中,153满足13+53+3^3=153, 这样的数被称为阿姆斯特朗数。找出所有三位数中的阿姆斯特朗数.
 for a in range(1,10):

    for b in range(10):

        for c in range(10):

            y=a*a*a+b*b*b+c*c*c;

            x=a*100+b*10+c;

            if(x==y):

                print(y)
  1. 从键盘接收若干个整数,直至用户输入N或n时停止将输入数据进行升序排列,并输出排序结果、平均值及中位数。
n=input()

l=[]

while( n != 'n' and n !='N'):#判断是否输入n或N

    l.append(int(n))

    n=input()

i = len(l)

for j in range(i):

    for k in range(j+1,i):

        if l[j]>l[k]:

            a=l[j]

            l[j]=l[k]

            l[k]=a

for j in range(i):

    print(l[j])

if( i%2==0):

    print('中位数为:',(l[i//2-1]+l[i//2])/2)

else:

    print('中位数为:',l[i//2])

sum=0

for j in range(i):

    sum = sum+l[j]

print('平均数为:',sum/i)

3.设计一个密码生成函教,用户输入密码长度之后,能够生成指定长度的密码,且密码满足如下要求,并在实验报告中给出实现方案。

下列要求至少满足3个:

-uppercase(A-Z);

  • lowercase(a-z);

  • digits(0-9);

-non-alphanumeric(!,@,#,etc);

import random

import string

n = int(input("请输入密码位数:"))

x = int(input("请选择密码格式(输入序号):\n0.全部包含\n1.不包含uppercase(A-Z)\n2.不包含lowercase(a-z)\n3.不包含digits(0-9)\n4.不包含non-alphanumeric(!,@,#,etc):"))

if( x > 4 ):

    x = int(input("请重新选择密码格式(输入序号):\n0.全部包含\n1.不包含uppercase(A-Z)\n2.不包含lowercase(a-z)\n3.不包含digits(0-9)\n4.不包含non-alphanumeric(!,@,#,etc):"))

if ( x == 0 ):

    strlist = ''.join(random.sample(string.ascii_letters + string.digits + string.punctuation,n))

    print("生成密码为:",strlist)

if( x == 1 ):

    stra = ''.join(random.sample(string.ascii_lowercase + string.digits + string.punctuation,n))

    print("生成密码为:",stra)

if( x == 2 ):

    strb = ''.join(random.sample(string.ascii_uppercase + string.digits + string.punctuation,n))

    print("生成密码为:",strb)

if( x == 3 ):

    strc = ''.join(random.sample(string.ascii_letters + string.punctuation,n))

    print("生成密码为:",strc)

if( x == 4 ):

    strd = ''.join(random.sample(string.ascii_letters + string.digits,n))

    print("生成密码为:",strd)

if( x > 4):

    print("密码选择不符合要求,请重新运行程序")
    ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值