Python之--列表及生成式练习(含腾讯真题)

“”"
1.系统里面有多个用户,用户的信息目前保存在列表里面
users = [‘root’,‘westos’]
passwd = [‘123’,‘456’]
2.用户登陆(判断用户登陆是否成功
1).判断用户是否存在
2).如果存在
1).判断用户密码是否正确
如果正确,登陆成功,推出循环
如果密码不正确,重新登陆,总共有三次机会登陆
3).如果用户不存在
重新登陆,总共有三次机会

“”"

users = ['root','westos']
passwds = ['123','456']

trycount = 0

while trycount < 3:
    inuser = input('用户名: ')
    inpasswd = input('密码: ')

    trycount += 1             #控制循环次数

    if inuser in users:
        index = users.index(inuser)     #输出inuser在users中的所在位置
        passwd = passwds[index]         #匹配相应的密码
        if inpasswd == passwd:
        print('%s用户登录成功' %inuser)
        break
    else:
        print('%s登录失败:密码错误' %inuser)
else:
    print('%s用户不存在' %inuser)
else:
    print('尝试超过3次,请稍后...')

在这里插入图片描述
在这里插入图片描述

“”"

  1. 后台管理员 admin 密码:admin

  2. 管理员才能看到会员信息

  3. 会员信息包含
    添加会员信息
    删除会员信息
    查看会员信息
    退出
    “”"

     print('管理员登录'.center(50,'*'))
     inuser = input('UserName: ')
     inpasswd = input('Password: ')
     
     users = ['root','westos']
     passwds = ['123','456']
     
     if inuser == 'admin' and inpasswd == 'admin':
         print('管理员登录成功')
         print('会员管理'.center(50,'*'))
         while True:
             print("""
                 菜单
             1.  添加会员信息
             2.  删除会员信息
             3.  查看会员信息
             4.  退出
             """)
             choice = input('请输入您的选择: ')
             if choice == '1':
                 print('添加会员信息'.center(50,'*'))
                 addUser = input('添加会员名: ')
                 if addUser in users:
                     print('%s用户已经存在' %addUser)
                 else:
                     addPasswd = input('密码: ')
                     users.append(addUser)
                     passwds.append(addPasswd)
                     print('%s用户添加成功' %addUser)
    
         elif choice == '2':
             print('删除会员信息'.center(50,'*'))
             delUser = input('删除会员名: ')
             delIndex = users.index(delUser)
             users.remove(delUser)
             passwds.pop(delIndex)
             print('%s会员删除成功' %delUser)
    
         elif choice == '3':
             print('查看会员信息'.center(50, '*'))
             print('\t用户名\t密码')
             userCount = len(users)
             for i in range(userCount):
                 print('\t%s\t%s' %(users[i],passwds[i]))
    
         elif choice == '4':
             exit()
         else:
             print('请输入正确选择!')
     else:
         print('管理员登录失败...')
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

列表生成式练习

[1** 1 2** 2 … 9 ** 9]

li = []

for i in range(1,10):
    li.append(i ** i)        #i ** i代表i的i次方
print(li)

print([i ** i for i in range(1,10) if i % 2 == 0])     #1~10中所有2的倍数的i的i次方组成的列表

###### 格式:[expression for i in 序列 if...]

在这里插入图片描述
#找出1——10之间所有偶数,并且返回一个列表(包含以这个偶数为半径的圆的面积)

import math         #引入math
print(math.pi)      #输出‘派’
print([math.pi * r * r for r in range(2,11,2)])     #在2~11间每两个选取一个数,在这些范围中的数来计算面积

在这里插入图片描述
#找出1~n之间所有的质数

def isPrime(num):
    for i in range(2,num):
        if num % i == 0:
            return False
    else:
        return True

print([i for i in range(2,101) if isPrime(i)])   #因为题目没有提前给出num的值,所以只能在此定义num为101

在这里插入图片描述
“”"
(2018-腾讯-在线编程题)

  • 题目描述:
    给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整
    数,并输出结果。输
    入值小于1000。
    如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别
    为(5,5),(3,7))
    [2,3,5,7]
  • 输入描述:
    输入包括一个整数n,(3 ≤ n < 1000)
  • 输出描述:
    输出对数
  • 示例1 :

输入:
10
输出:
2

num = int(input())

	def isPrime(num):
    for i in range(2,num):
        if num % i == 0:
            return False
    else:
        return True

primeli = [i for i in range(2,num) if isPrime(i)]
print(primeli)

primecount = 0

for item in primeli:
    if (num - item) in primeli and item <= num - item:
        primecount += 1

print(primecount)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值