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")转换成列表

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 = ["手机", "电脑", '鼠标垫', '游艇']

  • 允许用户添加商品

  • 用户输入序号显示内容

#!/usr/bin/env python
# -*- coding:utf-8 -*- 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":
break
else:
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级联动的选择

  • 允许用户增加内容

  • 允许用户选择查看某一个级别内容

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 输入省份、城市、县序号 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 = True
elif 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 = True
elif 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 = True
elif 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 = True
else:
print("您输入的县序号不存在")
print()
else:
print("您输入的县序号不存在")
print()
continue
else:
print("您输入的城市序号不存在")
print()
continue
else:
print("您输入的城市序号不存在")
print()
continue
else:
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]

  • 获取内容相同的元素列表

#!/usr/bin/env python
# -*- coding:utf-8 -*- l1 = [11,22,33]
l2 = [22,33,44] s1 = set(l1)
s2 = set(l2)
s3 = s1 & s2 l3 = list(s3) print(l3)
  • 获取l1中有,l2中没有的元素列表

#!/usr/bin/env python
# -*- coding:utf-8 -*- l1 = [11,22,33]
l2 = [22,33,44] s1 = set(l1)
s2 = set(l2)
s3 = s1 - s2 l3 = list(s3) print(l3)
  • 获取l2中有,l3中没有的元素列表

#!/usr/bin/env python
# -*- coding:utf-8 -*- l1 = [11,22,33]
l2 = [22,33,44] s1 = set(l1)
s2 = set(l2)
s3 = s2 - s1 l3 = list(s3) print(l3)
  • 获取l1和l2中内容都不同的元素

#!/usr/bin/env python
# -*- coding:utf-8 -*- l1 = [11,22,33]
l2 = [22,33,44] s1 = set(l1)
s2 = set(l2)
s3 = s2 ^ s1 l3 = list(s3) print(l3)

7、利用For循环和range输出

  • For循环从小到大输出1 - 100

#!/usr/bin/env python
# -*- coding:utf-8 -*- for i in range(1,101):
print(i)
  • For循环从大到小输出100 - 1

#!/usr/bin/env python
# -*- coding:utf-8 -*- for i in range(100,0,-1):
print(i)
  • While循环从小到大输出1 - 100

#!/usr/bin/env python
# -*- coding:utf-8 -*- n = 1
while n <= 100:
print(n)
n += 1
  • While循环从大到小输出100 - 1

#!/usr/bin/env python
# -*- coding:utf-8 -*- n = 100
while n >= 1:
print(n)
n -= 1

8、利用for循环和range输出9 * 9乘法表

#!/usr/bin/env python
# -*- coding:utf-8 -*- 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、判断一个数是否为素数。(编程题)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 素数又称为质数,它指的是只能被1和它本身整除的整数。其中,1不是素数,任何时候都不用考虑1。 while True:
flag = True # 设置一个标志位,flag = True代表是素数,flag = Flase代表非素数
n = int(input("请输入一个数字:"))
if n < 2: # 0、1以及负数都不是素数
flag = False
else:
for i in range(2,n): # 除以比它小的所有数(不包括1和它本身),看它是否还有其他因数
# print(i)
if n % i == 0:
# print("%d能整除%d" %(n,i))
flag = False # 出现一次余数为0就代表可以除尽,即代表这个数为素数,就可以设置flag = False
break # 只要第一次出现flag = False,就不用继续往下循环,直接退出整个循环(第二层)
if flag == True:
print("%d,是素数" %(n))
else:
print("%d,非素数" %(n))

10.输出100以内的所有素数。(编程题)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 素数又称为质数,它指的是只能被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 = False
break # 只要第一次出现flag = False,就不用继续往下循环,直接退出整个循环(第二层)
if flag == True:
L.append(n) # 当flag = True时代表n为素数,追加到素数列表中
print("100以内的所有素数:",L)

11、求100以内的素数和。(编程题)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 素数又称为质数,它指的是只能被1和它本身整除的整数。其中,1不是素数,任何时候都不用考虑1。 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 = False
break # 只要第一次出现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-9
if 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-9
for j in range(i+1,len(li)): # j的范围1-10
if li[i] > li[j]: # 相邻的两个数比较
li[i],li[j] = li[j],li[i]
print(li)

第2章 Python基础-字符编码&数据类型 综合 练习题的更多相关文章

  1. 第2章 Python基础-字符编码&数据类型 字典 练习题

    1.写代码,有如下字典,按照要求实现每一个功能,dic = {'k1':'v1','k2':'v2','k3':[11,22,33]} 请循环输出所有的 key dic = {'k1':'v1','k ...

  2. 第2章 Python基础-字符编码&数据类型 字符编码&字符串 练习题

    1.简述位.字节的关系 位(bit)是计算机中最小的表示单元,数据传输是以“位”为单位的,1bit缩写为1b 字节(Byte)是计算机中最小的存储单位,1Byte缩写为1B 8bit = 1Byte ...

  3. 第2章 Python基础-字符编码&数据类型 列表&元祖 练习题

    1.创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl元素 names = ["old_driver&q ...

  4. 第2章 Python基础-字符编码&数据类型 购物车&多级菜单 作业

    作业 一.三级菜单 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, ...

  5. Python基础-字符编码与转码

    ***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...

  6. Python基础(字符编码与文件处理)

    一.了解字符编码的知识储备 1.计算机基础知识(三副图) 2.文本编辑器存取文件的原理(notepad++,Pycharm,word) 打开编辑器就启动了一个进程,是在内存中运行的,所以在编辑器写的内 ...

  7. Python学习-字符编码, 数据类型

    本篇主要内容: 字符编码 Python中的数据类型有哪些 类型的一些常用操作及方法 一.字符编码 编码解释的大部分内容摘自廖雪峰老师教程中的讲解,点击跳转. 简单介绍: 我们知道计算机只能处理数字,如 ...

  8. python基础-----字符编码

    1.ASCII ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现 ...

  9. python基础--字符编码以及文件操作

    字符编码: 1.运行程序的三个核心硬件:cpu.内存.硬盘 任何一个程序要是想要运算,肯定是先从硬盘加载到当前的内存中,然后cpu根据指定的指令去执行操作 2.python解释器运行一个py文件的步骤 ...

随机推荐

  1. iOS DES ECB 模式加密

    //iOS DES ECB 模式加密 #import <CommonCrypto/CommonCryptor.h> ,,,,,,,}; +(NSString *) encryptUseDE ...

  2. Swift语言精要 - 扩展(Extension)

    swift的Extension用户在不访问代码的情况下扩展基本结构类型或自定义类 extension Int { var doubled : Int { } func multiplyWith(ano ...

  3. Struts2添加了<s:debug>后页面无效果的解决方案

    一.环境 Struts2版本 struts2.5 二.问题 在jsp页面中添加了<s:debug>后页面上无任何展示. 三.解决 在struts.xml中的struts节点下添加如下常量即 ...

  4. VB.NET版+三层实现登陆

    三层已经学了一些时间了,開始认为自己能够用C#敲代码了,就用C#写了一个实现登陆的,真正再用在机房中.还是认为非常吃力的,所以.决定用vb.net敲了.以下是我用vb.net实现的登陆.能够给大家做一 ...

  5. 从头认识Spring-1.14 SpEl表达式(1)-简单介绍与嵌入值

    这一章节我们来讨论一下SpEl表达式的简单介绍与嵌入值. 1.SpEl表达式简单介绍 Spring Excpression Language (SpEL)语言支持在执行时操作和查询对象 事实上就是在执 ...

  6. Android 建立手机与手表数据同步机制总结

    Android Wear 数据同步机制总结 当手机与手表建立蓝牙连接之后.数据就能够通过Google Play Service进行传输. 同步数据对象Data Item DataItem提供手机与手表 ...

  7. 一个封装的使用Apache HttpClient进行Http请求(GET、POST、PUT等)的类。

    一个封装的使用Apache HttpClient进行Http请求(GET.POST.PUT等)的类. import com.qunar.payment.gateway.front.channel.mp ...

  8. 仿饿了么增加购物车旋转控件 - 自带闪转腾挪动画 的button

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家公布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/54235736 本文出 ...

  9. VTK中的装配体(vtkAssembly)

    Actors有时也会组合在一起形成层次结构,当其中的某个Actor运动时,会影响到其他Actor的位置.例如,一个机械手臂可能由上臂.前臂.手腕和末端等部分通过关节连接起来.当上臂绕着肩关节旋转时,我 ...

  10. html 5检查Mobile App是否在线

    在PhoneGap应用,或者黑莓Java/HTML混搭应用中,如何使用JavaScript检查Mobile App网络连接状态呢? <script type="text/javascr ...