python前期考试

1.声明变量注意事项有那些?
#,只能包括字母数字下划线并且只能以下划线或者字母开头,


2.如何查看变量在内存中的地址?
#用id()函数进行捕捉


3.写代码 
a. 判断变量名是否合法?

while True:

    s = input('变量名:')

    if s == 'exit':

        print('欢迎下次使用')

        break

    if s[0].isalpha() or s[0] == '_':

        for i in s[1:]:

            if not(i.isalnum() or i == '_'):

                print('%s变量名不合法' %s)

                break

        else:

            print('%s变量名合法' %s)

    else:

        print('%s变量名不合法' %s)




b. 输出 1-2+3-4+5-6...+99 的和

sum=0
for i in range(1,100):
    if i %2 == 0:
        sum -= i
    if i %2 != 0:
        sum += i
print(sum)



c.使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12

i=0
while i < 12:
    i+=1
    if i == 6 or i ==10:
        print(' ')
    else:
        print(i)


e.完成用户管理系统:实现功能如下
    1). 注册新用户
    2). 用户登录
    3). 注销用户
    4). 显示用户信息
    5). 退出系统(exit(0))

users = ['yy','zz']
passwds = ['123','456']
count = 0
while True:
    print("""
        1.注册新用户
        2.用户登录
        3.注销用户
        4.显示用户信息
        5.退出系统(exit(0))
        
    """)
    choice = input('请输入你的选择')
    if choice == '1':
        Adduser = input('添加的vip用户名:')
        if Adduser in users:
            print('sorry 用户%s已经存在' %(Adduser))
        else:
            Addpasswd = input('添加用户的密码:')
            users.append(Adduser)
            passwds.append(Addpasswd)
            print('用户添加成功')
    elif choice == '2':
        while count in range(3):
            username = input('请输入用户名:')
            userpasswd = input('请输入密码:')
            count +=1
            if users.count('%s' %username) ==1:
                index = users.index('%s' %username)
                if passwds[index] == userpasswd:
                    print('登录成功')
                    break
                else:
                    print('密码错误')
            else:
                print('用户不存在')
    elif choice == '3':
        deluser = input('请输入删除的会员名:')
        delindex = users.index(deluser)
        users.remove(deluser)
        passwds.pop(delindex)    //用remove删除也可以:passwds.remove(server[delindex])
        print('删除会员成功')
    elif choice == '4':
        print('\t\t会员名\t\t密码')
        userA=len(users)
        for i in range(userA):
            print('\t\t%s\t\t%s' %(users[i],passwds[i]))

    elif choice == '5':
        print('系统已退出')
        print(exit(0))





h: 将列表中所有内容都变为小写;
li = ['frdgrfgdsHHJJ', 'cdsfregHHHJDGF']


li  = ['frdgrfdgsHHJJ','cdsfregHHHJDGF']
li1 = li[0].replace(li[0],li[0].lower())
li2 = li[0].replace(li[0],li[0].lower())
s = [li1,li2]
print(s)



4.现有如下两个变量,请简述 n1 和 n2 是什么关系?
n1 = 123456
n2 = n1

n2=n1=123456


5.布尔值分别有什么?
Ture  False


6.请在下面的空白处填写运行结果
>>>seq = [1, 2, 3, 4]
>>>seq[:2]
__________[1,2]______________
>>>seq[-2:]
___________[3.4]_____________
>>>seq[10:]
____________[]____________
>>>seq[::-1]
_____________[4,3,2,1]___________
>>>seq[:]
____________[1,2,3,4__________
>>> id(seq[:]) == id(seq)
______________False__________

7.写代码,有如下列表,按照要求实现每一个功能
li = ['happy', 'lucky', 'linux'] 
a. 计算列表长度并输出
b. 列表中追加元素 “seven”,并输出添加后的列表
c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表
d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表
e. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表
f. 请删除列表中的第 3 个元素,并输出删除元素后的列表
g. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表
h. 请将列表所有的元素反转,并输出反转后的列表

li = ['happy','lucky','linux']
print(len(li))      #输出长度

li.append('seven')
print(li)           #追加seven

li.insert(0,'Tony')
print(li)           #第 1 个位置插入元素 “Tony”,

li[1]='Kelly'       #修改列表第 2 个位置的元素为 “Kelly”
print(li)

li1 = li.remove('lucky')
print('lucky')
print(li)               #删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表

li1 = li.remove('linux')
print(li)               #删除列表中的第 3 个元素,

while True:
    li.pop()
    if len(li)== 1:     #删除列表中的第 2 至 4 个元素,
        break
print(li)

li = ['happy','lucky','linux'] #反转元素
print(li[::-1])




8.字典 dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
a. 请循环输出所有的 key 

dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
print(dic.keys())

b. 请循环输出所有的 value

dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
print(dic.values())

c.请循环输出所有的 key 和 value

dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
print(dic.items())

d.请在修改字典中 “k1” 对应的值为 “harry”,输出修改后的字典

dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
dic['k1'] = 'harry'
print(dic)

e.请在 k3 对应的值中追加一个元素 44,输出修改后的字典

dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
dic['k3'].append('44')
print(dic)

f.请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典

dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
dic['k3'].insert(0,'18')
print(dic)

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

s = input('请输入一句英语:')
s1 = s.split(' ')
a = {}
for i in s1:
    if i in a:
        a[i] += 1
    else:
        a[i] = 1
print(a)




10.元素分类 有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66 的值保存至第二个 key 的值中 即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}

a1=[]
a2=[]
for i in a:
    if int(i)>66:
        a1.append(i)
    if int(i)<66:
        a2.append(i)
k1 = 's1'
k2 = 's2'
s = dict(k1=a1,k2=a2)
print(s)


11.Pyhton 单行注释和多行注释分别用什么?

单行注释:#
对行注释:"""
	"""

12.九九乘法表输出

i =1
while i < 10:
    j=1
    while j<=i:
        print('%d*%d=%d\t' %(j,i,i*j),end='')
        j+=1
    print('')
    i+=1
print('')


13.求两个数的最大公约数和最小公倍数

a1 = int(input('请输入一个数:'))
a2 = int(input('请再输入一个数:'))
amin = min(a1, a2)
for i in range(amin, 0, -1):
    if a1 % i == 0 and a2 % i == 0:
        print('最大公约数为%d' % (i))
        print('最小公倍数为%d' % ((a1 * a2) / i))
    break


14.下面2个变量
a = ‘1’
b = 2
print a + b 的结果是什么,为什么会出现这个结果,如果希望结果是3,要怎么操作?

输出结果会报错:
Traceback (most recent call last):
  File "/home/kiosk/PycharmProjects/lhh/06/考试10.py", line 3, in <module>
    print(a+b)
TypeError: must be str, not int
因为a是字符型,b是整型

可以将a转换成整型,然后相加
a=int('1')
b=2
print(a+b)


15.字符串: a = ‘abcd’, 用2个方法取出字母d
第一种:
a = 'abcd'
print(a[-1])
第二种:
a = 'abcd'
print(a[::-4])


16.列表b = [1,2,3,4,5]
(1).用2种方法输出下面的结果:[1,2,3,4,5,6,7,8]
方法1:
b= [1,2,3,4,5]
b1 = [6,7,8]
print(b+b1)
方法2:
b= [1,2,3,4,5]
b.append(6)
b.append(7)
b.append(8)
print(b)


(2).用列表的2种方法返回结果:[5,4]
方法1:
b= [1,2,3,4,5]
b.remove(1)
b.remove(2)
b.remove(3)
print(b[::-1])
方法2;
b= [1,2,3,4,5]
print(b[3:][::-1])


(3).判断2是否在列表里
b= [1,2,3,4,5]
for i in b:
    if 2 in b:
        print('yes')
        break
    if 2 not in b:
        print('no')
        break

猜你喜欢

转载自blog.csdn.net/yinzhen_boke_0321/article/details/86556996