python列表,元组,集合和字典 练习题

1.

根据用于指定月份,打印该月份所属的季节。
提示: 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季

month = int(input('Month:'))
if month in [3,4,5]:
    print('春季')
elif month in [6,7,8]:
    print('夏季')
elif month in [9,10,11]:
    print('秋季')
else:
    print('冬季')

2.

假设有下面这样的列表:
names = [‘fentiao’,‘fendai’,‘fensi’,‘fish’]
输出的结果为:‘I have fentiao,fendai,fensi and fish’

names = ['fentiao','fendai','fensi','fish']
print('I have ' + ','.join(names[:-1]) + ' and ' + names[-1])

在这里插入图片描述

3.

栈的工作原理:先进后出
入栈
出栈
栈顶元素
栈的长度
栈是否为空

s=[]
info="""
     #1.入栈
     #2.出栈
     #3.栈顶元素
     #4.栈的长度
     #5.栈是否为空
"""
print(info)
while 1:
    choice=input('请输入选择:')
    if choice == '1':
        item=input('请输入入栈元素:')
        s.append(item)
        print('%s入栈成功' %(item))
    elif choice == '2':
        if len(s)==0:
            print('栈为空,不能出栈')
        else:
            item=s.pop()
            print('%s出栈成功' %(item))
    elif choice == '3':
        if len(s)==0:
            print('栈为空,无栈顶元素')
        else:
            print('栈顶元素为:%s' %(s[-1]))
    elif choice == '4':
        print(len(s))
    elif choice == '5':
        if len(s) == 0:
            print('栈为空')
        else:
            print('栈不为空')
    elif choice == 'q':
        print('欢迎下次使用')
        break
    else:
        print('请输入正确的选择')

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

4.

1). 系统里面有多个用户, 用户信息目前保存在列表里面;
users = [‘root’, ‘westos’]
passwds = [‘123’, ‘456’]
2). 用户登陆(判断用户登陆是否成功):
1). 判断用户是否存在?(inuser in users)
2). 如果存在:
1). 判断用户密码是否正确?
(先找出用户对应的索引值, 根据passwds[索引值拿出该用户的密码)
如果正确: 登陆成功, 退出循环;
如果密码不正确, 重新登陆, 总共有三次登陆机会
3). 如果不存在:
重新登陆, 总共有三次登陆机会

user=['redhat','westos']
passwd=['123','456']
for i in range(3):
    us = input('请输入用户名:')
    if us == user[0] or us == user[1]:
        pa=input('请输入密码:')
        if us == user[0]:
            if pa == passwd[0]:
                print('登陆成功')
                break
            else:
                print('密码错误')
        if us == user[1]:
            if pa == passwd[1]:
                print('登陆成功')
                break
            else:
                print('密码错误')
    else:
        print('用户名错误')
else:
    print('次数用尽,请稍后再试')

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

5.

  1. 后台管理员只有一个用户: admin, 密码: admin
  2. 当管理员登陆成功后, 可以管理前台会员信息.
  3. 会员信息管理包含:
    1.添加会员信息
    2.删除会员信息
    3.查看会员信息
    4.退出
user=['admin']
passwd=['admin']
huiyuan=[]
huiyuan1=[]
inuser=input('用户名:')
inpasswd=input('密码:')
if user[0]==inuser and passwd[0]==inpasswd:
    print('登陆成功')
    info="""
             #1.添加会员信息
             #2.删除会员信息
             #3.查看会员信息
         """
    print(info)
    while 1:
        choice=input('请输入选择:')
        if choice == '1':
            str=input('请输入增加的会员名称:')
            if str in huiyuan:
                print('%s用户存在'%(str))
            else:
                str1=input('请输入增加的%s密码:'%(str))
                huiyuan.append(str)
                huiyuan1.append(str1)
                print('%s会员增加成功' %(str))
        elif choice == '2':
            if len(huiyuan) == 0:
                print('当前无会员信息')
            else:
                str=input('请输入要删除的会员信息:')
                if str not in huiyuan:
                    print('无%s会员' %(str))
                else:
                    num=huiyuan.index(str)
                    huiyuan.pop(num)
                    huiyuan1.pop(num)
                    print('%s会员删除成功' %(str))
        elif choice == '3':
            if len(huiyuan) == 0:
                print('当前无会员信息')
            else:
                print('当前会员用户为:'+' '.join(huiyuan))
                print('当前会员密码为:'+' '.join(huiyuan1))
        elif choice == 'q':
            break
        else:
            print('请输入正确的指令')
else:
    print('登陆失败')

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

6.

华为机测题:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重”与排序工作

import random
# 先生成n个随机数
# 有先选择集和
s = set([])
for i in range(int(input('N:'))):
    s.add(random.randint(1,1000))
print(sorted(s))

在这里插入图片描述

7.

重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
1. 用户输入一句英文句子;
2. 打印出每个单词及其重复的次数;

8.

数字重复统计:
1). 随机生成1000个整数;
2). 数字的范围[20, 100],
3). 升序输出所有不同的数字及其每个数字重复的次数;

9.

  1. 随机生成100个卡号;
    卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),

  2. 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";

  3. 输出卡号和密码信息, 格式如下:
    卡号 密码
    6102009001 000000

card=set([])
for i in range(100):
    card.add('6102009%.3d' %(i))
card_id={}.fromkeys(card,'redhat')
print('卡号\t\t\t\t\t密码')
for k,v in card_id.items():
    print('%s\t\t\t%s'%(k,v))

在这里插入图片描述

card=[]
for i in range(100):
    card.append('6102009%.3d' %(i))
card_id={}.fromkeys(card,'redhat')
print('卡号\t\t\t\t\t密码')
for k,v in card_id.items():
    print('%s\t\t\t%s'%(k,v))
展开阅读全文

没有更多推荐了,返回首页