基于python下的基础知识练习
原创
©著作权归作者所有:来自51CTO博客作者IT运维小白的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.声明变量注意事项有那些?
答:1.变量名只能用字母、数字或下划线的任意组合
2.变量名不能以数字为第一个字符
3.内置函数名不能用
2.如何查看变量在内存中的地址?
3.写代码 a. 使用while循环实现输出2-3+4-5+6…+100 的和
i,b = 2,0
while i <= 100:#i取2-100
if i%2 == 0:#判断是偶数
b = b + i #结果加当前的i
else:#基数
b = b - i #结果减当前i
i += 1 #判断完自增一
print b
b. 使用for循环和range实现输出 1-2+3-4+5-6…+99 的和
b = 0 #结果
for i in range(1,100):
if i%2 == 0:#判断是偶数
b = b - i #结果加当前的i
else:#基数
b = b + i #结果减当前i
i += 1 #判断完自增一
print b
c.使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
i = 1#初始值
while i < 13: #判断小余13
if i == 6 or i == 10:#只有6和10不输出,or是或
pass #啥也不做跳过,或者使用continue关键字
else:
print(i)
i += 1
d.使用 while 循环实现输出 1-100 内的所有奇数
i = 1
while i < 101:
if i%2 == 0:#取2得余数为0为偶数
pass#啥也不做
else:
print(i)
i += 1
e.使用 while 循环实现输出 1-100 内的所有偶数
i = 1
while i < 101:
if i%2 == 0:#取2得余数为0为偶数
print(i)
else:
pass#啥也不做
i += 1
4.现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 123456 n2 = n1
5.布尔值分别有什么?
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. 计算列表长度并输出
li = ['happy', 'lucky', 'linux']
print len(li)
b. 列表中追加元素 “seven”,并输出添加后的列表
li = ['happy', 'lucky', 'linux']
li.append("seven")
print li
c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表
li = ['happy', 'lucky', 'linux']
li.insert(0,"seven")
print li
d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表
li = ['happy', 'lucky', 'linux']
li[1] = "Tony"
print li
e. 请删除列表中的元素 “eric”,并输出修改后的列表
li = ['happy', 'lucky', 'linux']
li.remove('eric')
print li
f. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表
li = ['happy', 'lucky', 'linux']
print li.pop(1)
print li
g. 请删除列表中的第 3 个元素,并输出删除元素后的列表
li = ['happy', 'lucky', 'linux']
li.pop(2)
print li
h. 请将列表所有的元素反转,并输出反转后的列表
li = ['happy', 'lucky', 'linux']
li.reverse()
print li
8.字典 dic = {‘k1’: “v1”, “k2”: “v2”, “k3”: [11,22,33]}
a. 请循环输出所有的 key
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for i in dic.keys():
print i
b. 请循环输出所有的 value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for i in dic.values():
print i
c.请循环输出所有的 key 和 value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for i in dic.keys():
print i,dic[i]
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]}
b = list(dic["k3"])#读取k3的value,转换成list赋值给B
b.append(44)#将元素添加至列表B中
dic["k3"] = b#将列表赋值给k3的value
print dic
f.请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
b = list(dic["k3"])
b.insert(0,18)
dic["k3"] = b
print dic
9.求 1-100 内的所有数的和
b = 0
for i in range(0,101):
b = b + i
print b
10.元素分类 有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66 的值保存至第二个 key 的值中 即: {‘k1’: 大于 66 的所有值, ‘k2’: 小于 66 的所有值}
li = [11,22,33,44,55,66,77,88,99]
l1 = []
l2 = []
for i in li:
if i >66:
l1.append(i)
else:
l2.append(i)
dict = {"k1":l1,"k2":l2}
print(dict)
11.Pyhton 单行注释和多行注释分别用什么?
答:单行注释 #代码
多行注释 ''' 代码 ''' Pycharm 快捷键ctrl+/
12.九九乘法表输出
row = 1
while row <= 9:
col = 0
while col < row:
col += 1
print '%d * %d = %d'%(row,col,row*col),
print ' '
row += 1
13.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的半多一个。到第五天早上想再吃时,见只剩下一个桃子了。请编写程序计算猴子第一天共摘了多少桃子
n = 1
for i in range(5,0,-1):
n = (n+1)*2
print '第%d天的桃子数为%d' %(i,x)
14.下面2个变量 a = ‘1’ b = 2 print a + b 的结果是什么,为什么会出现这个结果,如果希望结果是3,要怎么操作?
答: TypeError: must be str, not int 不同类型不能相加
print int(a) + b
正确转换:
15.字符串: a = ‘abcd’, 用2个方法取出字母d
(1). a[3]
(2). a[-1]
(3). b = list(a)
b.pop()
16.列表b = [1,2,3,4,5]
(1).用2种方法输出下面的结果:[1,2,3,4,5,6,7,8]
(2).用列表的2种方法返回结果:[5,4]
(3).判断2是否在列表里
(1)
#方法一:
b.extend([6, 7, 8])
#方法二:
c = b + [6, 7, 8]
(2)
#方法一:
b = [1,2,3,4,5]
print b[-1:-3:-1]
#方法二:
c = []
c.append(b.pop())
c.append(b.pop())
print c
#方法三:
b = [1,2,3,4,5]
c = b[3:5]
c.reverse()
print c
(3)
if 2 in b:
print '2 in b'
for k in b:
if 2 == k:
print '2 in b'