不运行程序,说出下面程序的执行结果
4.0 == 4 "4.0" == 4 bool("1") bool("0") str(32) int(6.26) float(32) float("3.21") int("434") int("3.42") bool(-1) bool("") bool(0) "wrqq" > "acd" "ttt" == "ttt " "sd"*3 "wer" + "2322"
1234567891011121314151617答案如下
true false true true "32" 6 32.0 3.21 434 会报错 # 标记 true false false true false # 标记 sdsdsd wer2322
12345678910111213141516170 , 空字符串, None在条件判断语句中等价于False, 其他数值都等价于True
字符串"3.42"可以转成float类型数据3.42, 3.42可以转成int类型数据3,但是字符串"3.42"却不可以直接使用int函数转成3
请说出下面表达式结果的类型
"True" "Flase" 4 >= 5 5 5.0 True 123456
答案如下
字符串 字符串 bool int float bool 123456 1.1.3 交互式解释器练习
请在交互式解释器里回答下面的题目
3的5次方 7对2求模 9除5,要求有小数部分 9除5,要求没有小数部分 用程序计算根号16,也就是16的2分之一次方 12345
答案如下
print(3 ** 5) print(7%2) print(9/5) print(9//5) import math print(math.sqrt(16)) 123456
除法中,希望结果有小数部分时用/, 希望只保留整数部分时用 //
1.2 字符串练习题(基本数据类型) 1.2.1 字符串内置方法练习在交互式解释器中完成下列题目
计算字符串 "cd" 在 字符串 "abcd"中出现的位置 字符串 "a,b,c,d" ,请用逗号分割字符串 "{name}喜欢{fruit}".format(name="李雷") 执行会出错,请修改代码让其正确执行 string = "Python is good", 请将字符串里的Python替换成 python,并计算字母O出现了几次,和该字符串的长度 有一个字符串 string = "python修炼第一期.html",请写程序从这个字符串里获得.html前面的部分,要用尽可能多的方式来做这个事情 "this is a book",请将字符串里的book替换成apple "this is a book", 请用程序判断该字符串是否以this开头 "this is a book", 请用程序判断该字符串是否以apple结尾 "This IS a book", 请将字符串里的大写字符转成小写字符 "This IS a book", 请将字符串里的小写字符,转成大写字符 "This IS a book", 请将每个单词的首字母转成大写 "this is a bookn", 字符串的末尾有一个回车符,请将其删除 str1 = "this is a book" str2 = "这是一本书" 请将str1,str2两个字符串用3种方法进行拼接 123456789101112131415
答案如下
print("a,b,c,d".split(",")) print("{name}喜欢{fruit}".format(name="李雷", fruit="apple")) print("Python is good".replace("Python", "python")) print("Python is good".count("o")) print(len("python is good")) string = "python修炼第一期.html" print(string[0:11]) # print(string[0:-5]) print(string[0:(string.find(".html"))]) print("this is a book".startswith("this")) print("this is a book".endswith("book")) print("This IS a book".lower()) print("This IS a book".upper()) print("This IS a book".title()) print("this is a bookn".strip()) print(str1 + str2) print("%s%s" % (str1, str2)) print("{}{}".format(str1, str2))
1234567891011121314151617strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
1.2.2 字符串切片(字符串)口述回答下面代码的执行结果
num_str = "0123456789" 1
print(num_str[2:6]) print(num_str[2:]) print(num_str[:6]) print(num_str[:]) print(num_str[::2]) print(num_str[1::2]) print(num_str[-1]) print(num_str[2:-1]) print(num_str[-2:]) print(num_str[::-1]) 12345678910
答案如下
2345 23456789 012345 0123456789 02468 13579 9 2345678 89 9876543210 12345678910 1.3 列表练习题(组合数据类型) 1.3.1 列表基础考察
已知一个列表 list = [1,2,3,4,5]
求列表的长度 判断6 是否在列表中 lst + [6, 7, 8] 的结果是什么? lst*2 的结果是什么 列表里元素的最大值是多少 列表里元素的最小值是多少 列表里所有元素的和是多少 在索引1的后面新增一个的元素10 在列表的末尾新增一个元素20 123456789
答案如下
list = [1, 2, 3, 4, 5] print(len(list)) print(6 in list) print(list + [6, 7, 8]) print(list * 2) print(max(list)) print(min(list)) print(sum(list)) list.insert(1, 10) print(list) list.append(20) print(list) 123456789101112 1.3.2 修改列表
list = [1, [4, 6], True] 请将列表里所有数字修改成原来的两倍
list = [1, [4, 6], True] list[0] = 2 list[1][0] = 8 list[1][1] = 12 print(list) 12345
用函数实现
def double_list(lst): for index, item in enumerate(lst): if isinstance(item, bool): continue if isinstance(item, (int, float)): lst[index] *= 2 if isinstance(item, list): double_list(item) if __name__ == '__main__': lst = [1, [4, 6], True] double_list(lst) print(lst) 1234567891011121314
答案如下
1.3.4 合并列表lst = [1,2,3] lst2 = [4,5,6] 12
答案如下
list = [1, 2, 3] print(id(list)) # 查看地址 list2 = [4, 5, 6] list.extend(list2) # 合并 print(list) print(id(list)) 123456
list的内存地址都没有发生变化,只是列表里的内容发生了变化
1.3.5 合并字符串str1 = "1,2,3" str2 = "4,5,6" 不使用 + 号运算符,请将str2合并到str1的末尾,并思考,这个过程中,是否产生了新的字符串 123
答案如下
str1 = "1,2,3" print(id(str1)) # 查看内存地址 str2 = "4,5,6" str1 += str2 # 拼接 print(str1) print(id(str1)) 123456
合并前后的内存地址是不一样
1.3.6 统计练习列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9] 请写程序完成下列题目 找出列表里的最大值 找出列表里的最小值 找出列表里最大值的个数 计算列表里所有元素的和 计算列表里元素的平均值 计算列表的长度 找出元素6在列表中的索引 12345678910
答案如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9] print(max(lst)) print(min(lst)) print(lst.count(max(lst))) print(sum(lst)) print(sum(lst)/float(len(lst))) print(len(lst)) print(lst.index(6)) 12345678
下面的题目不允许写代码,仅凭思考来回答
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
lst[2:4] 的值是什么 lst[1: -3]的值是什么 lst[-5]的值是什么 lst[:-4] 的值是什么 lst[-4:] 的值是什么 12345
答案如下
print(lst[2:4]) print(lst[1: -3]) print(lst[-5]) print(lst[:-4]) print(lst[-4]) 12345 1.3.7 列表操作练习
列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9] 请写程序完成下列操作 在列表的末尾增加元素15 在列表的中间位置插入元素20 将列表[2, 5, 6]合并到lst中 移除列表中索引为3的元素 翻转列表里的所有元素 对列表里的元素进行排序,从小到大一次,从大到小一次 123456789
答案如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9] lst.append(15) print(lst) lst.insert(len(lst) // 2, 20) print(lst) lst.extend([2, 5, 6]) print(lst) lst.remove(lst[3]) print(lst) lst.reverse() print(lst) lst.sort() # 升序 print(lst) lst.sort(reverse=True) print(lst) 123456789101112131415 1.3.8 复杂列表练习 1.4 字典练习题(组合数据类型) 1.4.1 字典基本操作
字典内容如下 dic = { 'python': 95, 'java': 99, 'c': 100 } 1234567
用程序解答下面的题目 字典的长度是多少 请修改'java' 这个key对应的value值为98 删除 c 这个key 增加一个key-value对,key值为 php, value是90 获取所有的key值,存储在列表里 获取所有的value值,存储在列表里 判断 javascript 是否在字典中 获得字典里所有value 的和 获取字典里最大的value 获取字典里最小的value 字典 dic1 = {'php': 97}, 将dic1的数据更新到dic中 12345678910111213
答案如下
print(len(dic)) dic['java'] = 98 print(dic) del (dic["c"]) print(dic) dic['phd'] = 90 print(dic) lst1 = list(dic.keys()) print(lst1) lst2 = list(dic.values()) print(lst2) print("javascript" in dic) print(sum(dic.values())) print(max(dic.values())) print(min(dic.values())) dic1 = {'php': 97} dic.update(dic1) print(dic)
123456789101112131415161718 1.4.2 字典应用(买水果)小明去超市购买水果,账单如下 苹果 32.8 香蕉 22 葡萄 15.5 请将上面的数据存储到字典里,可以根据水果名称查询购买这个水果的费用 123456
答案如下
info = { '苹果':32.8, '香蕉': 22, '葡萄': 15.5 } 12345 1.4.3 字典应用(买水果2)
小明,小刚去超市里购买水果 小明购买了苹果,草莓,香蕉,一共花了89块钱,,小刚购买了葡萄,橘子,樱桃,一共花了87块钱 请从上面的描述中提取数据,存储到字典中,可以根据姓名获取这个人购买的水果种类和总费用。 12345
答案如下
info = { "小明": { "fruits": ["苹果", "草莓", "香蕉"], "money": 89 }, "小岗": { "fruits": ["葡萄", "橘子", "樱桃"], "money": 87 } } 12345678910 1.5 集合练习题(组合数据类型) 1.5.1集合间的运算
lst1 = [1, 2, 3, 5, 6, 3, 2] lst2 = [2, 5, 7, 9] 哪些整数既在lst1中,也在lst2中 哪些整数在lst1中,不在lst2中 两个列表一共有哪些整数 12345
答案如下
lst1 = [1, 2, 3, 5, 6, 3, 2] lst2 = [2, 5, 7, 9] set1 = set(lst1) set2 = set(lst2) # 哪些整数既在lst1中,也在lst2中 print(set1.intersection(set2)) # 哪些整数在lst1中,不在lst2中 print(set1.difference(set2)) # 两个列表一共有哪些整数 print(set1.union(set2)) 1234567891011121314 1.6 元组练习题(组合数据类型) 1.6.1 元组概念考察
写出下面代码的执行结果和最终结果的类型
(1, 2)*2 (1, )*2 (1)*2 123
答案如下
print((1, 2) * 2) print((1,) * 2) print((1) * 2) 123
第一题应该没有异议,关键是第2题和第3题,元组里只有一个数据时,必须有逗号,如果没有逗号,就变成了第3题的形式,第3题本质上是1*2,那对小括号就如同我们小学学过的小括号一样,只是为了体现运算优先级而已。
当元组只有一个数据时,如果不省略了逗号,那么小括号的作用就不再是表示元组,而是表示运算优先级
相关知识
Python基本数据类型
【Python】(二)数据类型与转换
老王python之基本数据类型习题
Python变量和数据类型Number、String、转义字符、字符串格式化
Python数据类型 — 字典
理解Python中列表/字典/元组/集合
Python中is和==的区别详解
Python常见的错误以及其解决方案
【Python】基础
python的鸢尾花数据如何导入
网址: python中的数据类型篇 https://m.huajiangbk.com/newsview1250435.html
上一篇: 水果品种有哪些 |
下一篇: 【水果数据集】水果品种识别 人工 |