1.18 python----测试

1.声明变量注意事项有那些?

一、变量名不能与python的关键字相同
二、变量使用字母、数字、下划线组成,首字母必须使用字母或者下划线
三、变量的命名尽量与所代表的内容意义相同

2.如何查看变量在内存中的地址?

ip 变量名

3.写代码

a. 判断变量名是否合法?

var = input('请输入变量名')
if var[0] != '_' and not var[0].isalpha():
    print('变量名不合理')
    exit()
for i in var:
    if i != '_' and not i.isalnum():
        print('变量名不合理')
        exit()
else:
    print('变量名合理')

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

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

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

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

e.完成用户管理系统:实现功能如下

    1). 注册新用户
    2). 用户登录
    3). 注销用户
    4). 显示用户信息
    5). 退出系统(exit(0))

dic = {'帐号':'密码'}
while True:
    print("""
    1). 注册新用户
    2). 用户登录
    3). 注销用户
    4). 显示用户信息
    5). 退出系统(exit(0))
    """)
    spt = int(input('请输入你对系统的管理'))
    if spt == 1:
        user=input('请输入注册的用户名')
        if user in dic:
            print('用户已经存在')
            continue
        else:
            passwd=input('请输入用户的密码')
            dic[user]=passwd
    elif spt == 2:
        user=input('请输入登录的用户名')
        if not user in dic:
            print('用户名不存在')
        else:
            passwd=input('请输入密码')
            if dic[user]==passwd:
                print('登录成功')
            else:
                print('密码错误')
    elif spt == 3:
        user=input('请输入需要注销的用户')
        if not user in dic:
            print('用户不存在')
        else:
            dic.pop(user)
    elif spt == 4:
        for i,j in dic.items():
            print(i,j)
    elif spt == 5:
        print('用户退出')
        exit()
    else:
        print('请输入正确的操作')


h: 将列表中所有内容都变为小写;

li = ['frdgrfgdsHHJJ', 'cdsfregHHHJDGF']

li = ['frdgrfgdsHHJJ', 'cdsfregHHHJDGF']
for i in li:
    li[li.index(i)]=i.lower()
print(li)

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

n1 = 123456
n2 = n1

n1的值为123456,然后将n1的值赋给n2.完成后,n1和n2是两个独立的变量,可以修改。但是他们两个在内存中的地址相同。

扫描二维码关注公众号,回复: 5250726 查看本文章

5.布尔值分别有什么?

True 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. 计算列表长度并输出

print(len(li))

b. 列表中追加元素 “seven”,并输出添加后的列表

li.append('seven')
print(li)

c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表

li.insert(0,'Tony')
print(li)

d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表

li[1]='Kelly'
print(li)

e. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表

print(li.pop(1))
print(li)

f. 请删除列表中的第 3 个元素,并输出删除元素后的列表

li.remove(li[2])
print(li)

g. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表

for i in li[1:4] :
    li.remove(i)
print(li)

h. 请将列表所有的元素反转,并输出反转后的列表

li=li[::-1]
print(li)


8.字典 dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}


a. 请循环输出所有的 key

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

b. 请循环输出所有的 value

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

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

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

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. 打印出每个单词及其重复的次数;

sentence = input('请输入句子')
sentence = sentence.split()
dic = {}
for i in sentence:
    if i in dic:
        dic[i] += 1
    else:
        dic[i] = 1
for i,j in dic.items():
    print(i,j)


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

set1 = {11, 22, 33, 44, 55, 66, 77, 88, 99, 90}
dic = {'k1': [], 'k2': []}
for i in set1:
    if i > 66:
        dic['k1'].append(i)
    else:
        dic['k2'].append(i)

print(dic)


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

单行注释:#

多行注释:
"""
"""


12.九九乘法表输出

for i in range(1,10):
    for j in range(1,i+1):
        print('%d * %d = %d\t' %(i,j,i*j),end='')
    print()


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


num1 = int(input('请输入第一个数'))
num2 = int(input('请输入第二个数'))
cyc = min(num1, num2)
for i in range(cyc, 0, -1):
    if num1 % i == 0 and num2 % i ==0:
        print('%d和%d的最大公约数为%d,最小公倍数为%d' %(num1,num2,i,num1*num2/i))
        break

14.下面2个变量

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

结果会报错:因为a为字符串类型,b为整形,无法相加
如果希望结果为3,需要强制转换类型
print(int(a) + b)


15.字符串: a = ‘abcd’, 用2个方法取出字母d

a='abcd'
#方法一
print(a[3])
#方法二
for i in a:
    if i =='d':
        print(i)

16.列表b = [1,2,3,4,5]

(1).用2种方法输出下面的结果:[1,2,3,4,5,6,7,8]

方法1:

print('[',end='')
for i in range (1,8):
    print('%d,'%(i),end=' ')
print('8]')

方法二:

b = [1,2,3,4,5]
for i in range (6,9):
    b.append(i)
print(b)

(2).用列表的2种方法返回结果:[5,4]

方法1
b = [1,2,3,4,5]
print(b[::-1][:2])

方法2
b = [1,2,3,4,5]
print(b[4:2:-1])

(3).判断2是否在列表里

b = [1,2,3,4,5]
print(2 in b)

猜你喜欢

转载自blog.csdn.net/qq_41627390/article/details/86545417