12道Python基础字符编码数据类型练习题
1、转换
- 将字符串s = "alex"转换成列表
s = "alex"
s_list = list(s)
print(s_list)
- 将字符串s = "alex"转换成元祖
s = "alex"
s_tuple = tuple(s)
print(s_tuple)
- 将列表li = [“alex”, “seven”]转换成元组
li = ["alex", "seven"]
li_tuple = tuple(li)
print(li_tuple)
- 将元祖tu = (‘Alex’, “seven”)转换成列表
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
tu = ('Alex', "seven")
tu_list = list(tu)
print(tu_list)
- 将列表li = [“alex”, “seven”]转换成字典且字典的key按照10开始向后递增
li = ["alex", "seven"]
li_dic = {}
for k,v in enumerate(li,10):li_dic[k] = v
print(li_dic)
2、元素分类
有如下值集合[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,90]
li1 = []
li2 = []
for i in li :if i < 66:li1.append(i)elif i > 66:li2.append(i)else:pass
dic = {"k1": li1,"k2": li2}
print(dic)
3、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = [“手机”, “电脑”, ‘鼠标垫’, ‘游艇’]
- 允许用户添加商品
- 用户输入序号显示内容
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
li = ["手机", "电脑", '鼠标垫', '游艇']while True:print("商品信息".center(28, "-"))for index,goods in enumerate(li,1):print("%s. %s" % (index, goods))add_choice = input("\n是否添加商品(yes/no):")if add_choice == "yes" or add_choice == "y":add_goods = input("\n请输入需要添加的商品:")li.append(add_goods)elif add_choice == "no" or add_choice == "n":breakelse:print("\n输入错误,请重新输入\n")continue
while True:goods_choice = input("\n请输入需要查看的商品序号,输入非数字退出本程序:")if goods_choice.isdigit():goods_choice = int(goods_choice)if goods_choice >= 1 and goods_choice <= len(li):print("\n",li[goods_choice-1])else:print("\n商品序号错误,请重新输入\n")else:break
4、用户交互显示类似省市县N级联动的选择
- 允许用户增加内容
- 允许用户选择查看某一个级别内容
# 输入省份、城市、县序号China = {'河南省': {'焦作市': ['武陟', '温县', '博爱'],'郑州市': ['新郑', '荥阳', '中牟'],'开封市': ['兰考', '尉氏', '杞县'],},'广东省': {'广州市': ['越秀', '荔湾', '番禺'],'深圳市': ['福田', '罗湖', '龙岗'],'东莞市': ['莞城', '南城', '东城'],},
}exit_flag = False
while not exit_flag: # 第1层循环province_list = [] # 定义一个省份列表city_list = [] # 定义一个城市列表print("\33[31;1m---------------------------------\33[1m")print(" \33[31;1m欢迎您来到中国\33[1m ")print("\33[31;1m---------------------------------\33[1m")for index,Province in enumerate(China,1):print("%s. %s" % (index,Province))province_list.append(Province) # 添加所有省份到省份列表中print()choice_province = input("一.请输入您要前往的省份序号 (输入q退出,输入b返回上级,输入i自定义):")print()if choice_province == "q" or choice_province == "Q":exit_flag = Trueelif choice_province == "b" or choice_province == "B":continue # 跳出第1层循环的剩下语句,继续进行下一次循环(选择省份)elif choice_province == "i" or choice_province == "I":print("\33[32;1m自定义信息\33[1m".center(40, "-"))province = input("省份名称:")if China.get(province) == None:China[province] = {} # 增加的省份对应的键值是一个空字典city = input("城市名称:")if China[province].get(city) == None:China[province][city] = [] # 增加的城市对应的键值是一个空列表county = input("县名称:")China[province][city].append(county) # 增加的县是列表中的一个元素print()print("您的自定义信息已经存储成功,请重新进行选择")print()elif choice_province.isdigit():choice_province = int(choice_province)if choice_province >= 1 and choice_province <= len(province_list):while not exit_flag: # 第2层循环for index,City in enumerate(China[province_list[choice_province-1]],1):print("%s. %s" % (index,City))city_list.append(City) # 添加所有城市到城市列表中print()choice_city = input("二.请输入您要前往的城市序号 (输入q退出,输入b返回上级):")print()if choice_city == "q" or choice_city == "Q":exit_flag = Trueelif choice_city == "b" or choice_city == "B":break # 跳出整个第2层循环,重新进行第1层循环(选择省份)elif choice_city.isdigit():choice_city = int(choice_city)if choice_city >=1 and choice_city <= len(city_list):while not exit_flag: # 第3层循环for index,County in enumerate(China[province_list[choice_province-1]][city_list[choice_city-1]],1):print("%s. %s" % (index, County))print()choice_county = input("三.请输入您要前往的县序号 (输入q退出,输入b返回上级):")print()if choice_county == "q" or choice_county == "Q":exit_flag = Trueelif choice_county == "b" or choice_county == "b":break # 跳出整个第3层循环,重新进行第2层循环(选择城市)elif choice_county.isdigit():choice_county = int(choice_county)county_list = China[province_list[choice_province - 1]][city_list[choice_city - 1]] # 县列表if choice_county >= 1 and choice_county <= len(county_list):print("---------------------------------")print("您现在的位置是:", province_list[choice_province-1],city_list[choice_city-1],county_list[choice_county-1])print("---------------------------------")exit_flag = Trueelse:print("您输入的县序号不存在")print()else:print("您输入的县序号不存在")print()continueelse:print("您输入的城市序号不存在")print()continueelse:print("您输入的城市序号不存在")print()continueelse:print("您输入的省份序号不存在")print()else:print("您输入的省份序号不存在")print()continue
5、列举布尔值是False的所有值
bool(0) bool(None) bool("") bool(()) bool([]) bool({})
6、有两个列表
l1 = [11,22,33]
l2 = [22,33,44]
- 获取内容相同的元素列表
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
l1 = [11,22,33]
l2 = [22,33,44]s1 = set(l1)
s2 = set(l2)
s3 = s1 & s2l3 = list(s3)print(l3)
- 获取l1中有,l2中没有的元素列表
l1 = [11,22,33]
l2 = [22,33,44]s1 = set(l1)
s2 = set(l2)
s3 = s1 - s2l3 = list(s3)print(l3)
- 获取l2中有,l3中没有的元素列表
l1 = [11,22,33]
l2 = [22,33,44]s1 = set(l1)
s2 = set(l2)
s3 = s2 - s1l3 = list(s3)print(l3)
- 获取l1和l2中内容都不同的元素
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
l1 = [11,22,33]
l2 = [22,33,44]s1 = set(l1)
s2 = set(l2)
s3 = s2 ^ s1l3 = list(s3)print(l3)
7、利用For循环和range输出
- For循环从小到大输出1 - 100
for i in range(1,101):print(i)
- For循环从大到小输出100 - 1
for i in range(100,0,-1):print(i)
- While循环从小到大输出1 - 100
n = 1
while n <= 100:print(n)n += 1
- While循环从大到小输出100 - 1
n = 100
while n >= 1:print(n)n -= 1
8、利用for循环和range输出9 * 9乘法表
for i in range(1,10):for j in range(1,i+1):print("%d*%d=%2d" % (j,i,i*j),end=" ") # 每次输出不换行(默认print会换行),第二位数字是固定的,所以最外层循环的i代表第二位print (" ") # 当j(第一位数字)遍历一遍时换行
9、判断一个数是否为素数。(编程题)
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
while True:flag = True # 设置一个标志位,flag = True代表是素数,flag = Flase代表非素数n = int(input("请输入一个数字:"))if n < 2: # 0、1以及负数都不是素数flag = Falseelse:for i in range(2,n): # 除以比它小的所有数(不包括1和它本身),看它是否还有其他因数# print(i)if n % i == 0:# print("%d能整除%d" %(n,i))flag = False # 出现一次余数为0就代表可以除尽,即代表这个数为素数,就可以设置flag = Falsebreak # 只要第一次出现flag = False,就不用继续往下循环,直接退出整个循环(第二层)if flag == True:print("%d,是素数" %(n))else:print("%d,非素数" %(n))
10.输出100以内的所有素数。(编程题)
素数又称为质数,它指的是只能被1和它本身整除的整数。其中,1不是素数,任何时候都不用考虑1。
L = [] # 定义一个初始的素数列表
for n in range(2,101): # 循环100以内的素数n,从2开始,0、1不是素数flag = True # 设置一个标志位,flag = True代表是素数,flag = Flase代表不是素数for i in range(2,n): # 除以比它小的所有数(不包括1和它本身),看它是否还有其他因数if n % i == 0:flag = False # 出现一次余数为0就代表可以除尽,即代表这个数为素数,就可以设置flag = Falsebreak # 只要第一次出现flag = False,就不用继续往下循环,直接退出整个循环(第二层)if flag == True:L.append(n) # 当flag = True时代表n为素数,追加到素数列表中
print("100以内的所有素数:",L)
11、求100以内的素数和。(编程题)
素数又称为质数,它指的是只能被1和它本身整除的整数。其中,1不是素数,任何时候都不用考虑1。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
s = 0 # 设置一个素数初始和为0
for n in range(2,101): # 循环100以内的素数n,从2开始,0、1不是素数flag = True # 设置一个标志位,flag = True代表是素数,flag = Flase代表不是素数for i in range(2,n): # 除以比它小的所有数(不包括1和它本身),看它是否还有其他因数if n % i == 0:flag = False # 出现一次余数为0就代表可以除尽,即代表这个数为素数,就可以设置flag = Falsebreak # 只要第一次出现flag = False,就不用继续往下循环,直接退出整个循环(第二层)if flag == True:s += n # 当flag = True时代表n为素数,此时和之前的素数之和相加得到最新的素数之和
print("100以内的素数和为:",s)
12、将[1,3,2,7,6,23,41,24,33,85,56]从小到大排序(冒泡法)(编程)
li = [1,3,2,7,6,23,41,24,33,85,56]for i in range(len(li)-1): # i的范围0-9if li[i] > li[i+1]: # 相邻的两个数比较li[i],li[i+1] = li[i+1],li[i]
print(li)li = [1,3,2,7,6,23,41,24,33,85,56]for i in range(len(li)-1): # i的范围0-9for j in range(i+1,len(li)): # j的范围1-10if li[i] > li[j]: # 相邻的两个数比较li[i],li[j] = li[j],li[i]
print(li)
12道Python基础字符编码数据类型练习题相关推荐
- python中输出变量对应值的字符_第2章 Python基础-字符编码数据类型 字符编码字符串 练习题...
1.简述位.字节的关系 位(bit)是计算机中最小的表示单元,数据传输是以"位"为单位的,1bit缩写为1b 字节(Byte)是计算机中最小的存储单位,1Byte缩写为1B 8bi ...
- python基础|字符编码
任何一个程序想要运行,必须先有硬盘加载到内存,然后由cpu去内存取只执行.运行着的应用程序的数据,必须在内存运行.python运行文件的三步,首先把python文件解释器读取到内存上,然后应用程序代码 ...
- 5道python基础中while循环练习题
1. 使用while循环输出1 2 3 4 5 6 8 9 10 count=0 while count <10:count+=1print(count) 2. 求1-100的所有数的和 cou ...
- 4道Python基础文件操作函数 练习题
一.利用b模式,编写一个cp工具,要求如下: 既可以拷贝文本又可以拷贝视频,图片等文件 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target_file ...
- No.1 字符编码数据类型
No.1 字符编码&数据类型 一.字符编码 ASCII,主要用于现代英语,定长1byte,最多表示2^8-1=255个符号 GB2312,约7k个汉字,数量太少 GBK扩展到了2w汉字,还有藏 ...
- (转载)Python常见字符编码间的转换
Python常见字符编码间的转换 主要内容: 1.Unicode 和 UTF-8的爱恨纠葛 2.字符在硬盘上的存储 3.编码的转换 4.验证编码是否转换正确 5 ...
- python转换字符编码_Python常见字符编码间的转换
学习Python,字符编码间的转换是绕不过去的一只拦路虎,不把编码彻底搞明白,总有一天它会猝不及防坑你一把. Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将 ...
- Practical Python基础1(数据类型,运算,比较符号,字符串,列表,函数等)
Practical Python基础1(数据类型,运算,比较符号,字符串,列表,函数等) Python是一种解释性的高级编程语言.它通常被归类为"脚本语言",被认为类似于Perl. ...
- python转换字符编码_转:Python常见字符编码及其之间的转换
一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...
最新文章
- 阿里巴巴python库_年薪20万阿里巴巴Python工程师面试题曝光
- 打印容器_喷墨打印MnO?制备微型超级电容器
- 【收藏】Hbase2.x协处理器的使用
- VC中操作INI文件的API
- 【Visual C++】游戏开发笔记之八——基础动画显示(二)游戏循环的使用
- python 对象序列化 pickling_python操作文件——序列化pickling和JSON
- 公众平台小程序文档和工具
- 多源最短路径---Floyd-Warshall算法
- 遇到流氓软件不要慌,一篇文章帮您完全清理
- Unity3D之FingerGestures学习
- LEAK: ByteBuf.release() was not called before it‘s garbage-collected
- oracle 11客户端精简版,oracle_11g精简版客户端配置
- android高仿小米时钟,Android仿小米时钟效果
- 如何查找涉密文件_涉密文件信息资料保密管理规定
- 推荐几款性价比高的优盘
- MTK android系统源码修改快速上手
- SAP打开财务和物料的账期(OB52 MMRV MMPV)
- 同步以太网-SyncE介绍
- Python编程基础题(9-求绝对值最大的元素)
- 更轻量的百度百舸,CCE Stack智算版发布