day03 作业

  1. 实现IP地址转换。

    如 10.3.9.12 转换规则为:10            000010103            000000119            0000100112            00001100
    再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
    ########### 答案 ##############
    string = '10.3.9.12'
    

ipList = string.split(".")
stringStart = ‘’
for i in ipList:
intToBin = bin(int(i)) # 将字符串转换为十进制,再将十进制转换为二进制
binRemove0b = (intToBin[2:]).rjust(8,‘0’) #
stringStart = stringStart + binRemove0b;
print(stringStart)

print("-------------")
stingToInt = int(stringStart)
print(stingToInt)

n = -1
k = 0
ii = 0
len = len(stringStart)
while len > 0:
ii = (int(stringStart[n]) * pow(2, k)) + ii
print("-------",ii)
k = k + 1
len = len - 1
n = n - 1
print(k, “–”,ii)
######### 简便的做法 #########

2. Python2中的xrange和range的区别?
可参考:https://www.cnblogs.com/molson/p/6613094.html
相同点:
1、两者都是函数,都可生成一个数字序列;
2、生成的数字序列都是左闭右开,且都支持切片操作
不同点:
1、range()函数生成的序列是字符串类型的,而xrange() 函数生成的序列是xrange类型的
2、range()函数直接生成一个列表,xrange() 函数生成一个生成器,可以使用list(xrange())将这个生成器转换成为list类型的
3、要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间
###############################
python2中xrange是生成器,生成一个取出一个,节省内存range是一次性生成,对内存消耗较大3. 如何实现 `"1,2,3"` 变成 `["1","2","3"]` ?
```python
string = "1,2,3"
string = string.replace(",","")
print(list(string))
  1. 如何实现 "1,2,3" 变成 [1,2,3] ?
  string = "1,2,3"string = string.replace(",", "")len = len(string)list1 = []i = 0while i < 3:strToInt = int(string[i])list1.append(strToInt)i = i + 1print(list1)
  1. 请用三种方法实现字符串反转 name = “晓强半夜三点在被窝玩愤怒的小鸟”(步长、while、for)
# 第一种:name = "晓强半夜三点在被窝玩愤怒的小鸟"print(name[::-1])
# 第二种:length = len(name) - 1nameList = []while length >= 0:nameList.append(name[length])length = length - 1result = ''.join(nameList)              # Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。print(result)# 第三种naList = []namList = []length = len(name)for i in name:naList.append(i)print(naList)while length - 1 >= 0:namList.append(naList.pop(length - 1))length = length - 1naResult = ''.join(namList)print("----",naResult)
  1. 写代码,有如下列表,按照要求实现每一个功能。

    li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]- 列表中追加元素"seven",并输出添加后的列表
    - 请在列表的第1个位置插入元素"Tony",并输出添加后的列表
    - 请将列表 l2=[1,"a",3,4,"heart"] 的每一个元素追加到列表li中,并输出添加后的列表
    - 请删除列表中的元素"ritian",并输出删除后的列表
    - 请删除列表中的第2个元素,并输出删除元素后的列表
    li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
    l2=[1,"a",3,4,"heart"]
    

1

li.append("seven")
print(li)

2

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

3

li.extend(l2)
print(li)

4

# del li[2]         # 删除
li.remove('ritian')
print(li)

5

li.pop(2)
7. 请用代码实现循环输出元素和值:users = ["武沛齐","景女神","肖大侠"] ,如:```python
0 武沛齐
1 景女神
2 肖大侠
users = ["武沛齐","景女神","肖大侠"]
for value in users:
print(users.index(value),' ',value)
  1. 写代码,有如下列表,按照要求实现每一个功能。

    - 将列表lis中的"k"变成大写,并打印列表。
    - 将列表中的数字3变成字符串"100"
    - 将列表中的字符串"tt"变成数字 101
    - 在 "qwe"前面插入字符串:"火车头"lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]lis[2] = lis[2].upper()print(lis)lis[3][2][1] = 100print(lis)lis[3][2][0] = 101print(lis)lis[3].insert(0,'火车头')                      # 划重点print(lis)
    
  2. 写代码实现以下功能

    如有变量 googs = ['汽车','飞机','火箭'] 提示用户可供选择的商品:1,汽车2,飞机3,火箭
    用户输入索引后,将指定商品的内容拼接打印,如:用户输入1,则打印 您选择的商品是汽车。
    googs = ['汽车','飞机','火箭']
    inPut = input('请输入商品编号:')
    for value1 in googs:if googs.index(value1) + 1 == int(inPut):print(value1)
  3. 查找列表li中的元素,移除每个元素的空格,并找出以"a"开头的元素,并添加到一个新列表中,最后循环打印这个新列表。

    li = ["wupeiqi ", "alexC", "AbC ", "seven", " riTiAn", "WuSir", "  aqc"]
    li3 = []
    li2 = []
    for value2 in li:                       # 先后顺序很重要
    li3.append(li[li.index(value2)].strip())
    if li3[li.index(value2)].strip().startswith('a'):li2.append(li3[li.index(value2)].strip())
    li[li.index(value2)] = li[li.index(value2)].strip()
    print(li2)
    print(li)
    
  4. 判断是否可以实现,如果可以请写代码实现。

    li = ["alex",[11,22,(88,99,100,),33] "WuSir", ("alex", "barry",), "eric"]
    - 请将 "WuSir" 修改成 "武沛齐"
    - 请将 ("alex", "barry",) 修改为 ['日天','日地']
    - 请将 88 修改为 87
    - 请将 "eric" 删除,然后再在列表第0个索引位置插入 "李杰"
    li[2] = "武沛齐"
    print(li)
    ##################
    list2 = list(li[3])          # 元组不能修改长度与元素
    print(list2)
    list2[0] = '小天'
    list2[1] = '小地'
    li[3] = tuple(list2)
    print(li)
    ##################list3 = list(li[1][2])
    list3[0] = 89
    li[1][2] = tuple(list3)
    print(list3,'------',li)
    li.pop()
    li.insert(0,'理解')               # 列表的插入不用赋值
    print(li)
    
  5. 请将列表中的每个元素通过 “_” 链接起来。

    users = ['李少奇','李启航','渣渣辉'
    print('_'.join(users))
    
  6. 请将元组 v1 = (11,22,33) 中的所有元素追加到列表 v2 = [44,55,66] 中。

v1 = (11,22,33)
v2 = [44,55,66]
list4 = list(v1)
v2.extend(list4)
print(v2)
  1. 请将元组 v1 = (11,22,33,44,55,66,77,88,99) 中的所有偶数索引位置的元素 追加到列表 v2 = [44,55,66] 中。
v1 = (11,22,33,44,55,66,77,88,99)
v2 = [44,55,66]
list5 = list(v1)
for value3 in list5:if list5.index(value3)%2 == 0:v2.append(value3)
print(v2)
  1. 有字符串"k1:1|k2:2 |k3 :2" 处理成如下结构的数据。
  [("k1","1"),("k2","2"),("k3","3"),]string = "k1:1|k2:2 |k3 :2"list1 = string.split('|')list3 = []print(list1)for value in list1:list2 = list1[list1.index(value)].split(":")list3.append(tuple(list2))print(list3)```13. 输出商品列表,用户输入序号,显示用户选中的商品```python商品列表:goods = [["电脑",1999],["鼠标",10],["游艇",20],["美女",990],]要求:1:页面显示 序号 + 商品名称 + 商品价格,如:1 电脑 1999 2 鼠标 10...2:用户输入选择的商品序号,然后打印商品名称及商品价格3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。4:用户输入Q或者q,退出程序。inpIndex = []for value5 in goods:print(goods.index(value5)+1,' ',goods[goods.index(value5)][0],' ', goods[goods.index(value5)][1])inpIndex.append(goods.index(value5)+1)while 1:inpValue = input("请输入商品编号:")if inpValue.lower() == 'q':breakelif inpValue.isdecimal():if int(inpValue) in inpIndex:for value6 in goods:if goods.index(value6) + 1 ==  int(inpValue):print(goods[goods.index(value6)][0],' ',goods[goods.index(value6)][1])else:passelse:print("输入有误!")```14. 比较 `v1 = (1,)` 和 `v2 = 1` 以及 `v3= (1)` 的区别?
v1是元组
v2是一个变量,值为1
v3是一个变量,值为115. 列举你了解的转换为布尔值为False的所有值。
0、''、[]、()、{}、None16. 实现用户登录程序
```python- 循环提示用户录入用户名和密码,输入Q或q终止。- 用户名和密码校验(三次错误机会)。userNm = 'huahua'password = '123123'count = 1while count <= 3:inpName = input('请输入用户名:')if inpName.lower() == 'q':breakinpPassword = input("请输入密码:")if inpName == userNm and inpPassword == password:print('登录成功!')breakelse:count += 1if count == 4:print("今日登录次数已达上限,明天再来试试吧~")else:print("用户名或者密码有误,请重新输入!")
  1. 基于for和range实现 9*9 乘法表.

    1*1
    2*1 2*2
    3*1 3*2 3*3
    4*1 4*2 4*3 4*4
    5*1 5*2 5*3 5*4 5*5
    6*1 6*2 6*3 6*4 6*5 6*6
    7*1 7*2 7*3 7*4 7*5 7*6 7*7
    8*1 8*2 8*3 8*4 8*5 8*6 8*7 8*8
    9*1 9*2 9*3 9*4 9*5 9*6 9*7 9*8 9*9
    

python习题练习相关推荐

  1. 【Python习题】计算弓形的面积(保姆级图文+实现代码)

    目录 题目 实现思路 实现代码 总结 主要内容是校设课程的习题和课外学习的一些习题. 欢迎关注 『Python习题』 系列,持续更新中 欢迎关注 『Python习题』 系列,持续更新中 题目 题目 如 ...

  2. 百分制成绩转换五分制F【Python习题】(保姆级图文+实现代码)

    目录 题目 描述 输入格式 输出格式 输入输出示例 思路 代码 实现效果 总结 主要内容是校设课程的习题和课外学习的一些习题. 欢迎关注 『Python习题』 系列,持续更新中 欢迎关注 『Pytho ...

  3. 【Python习题】简易英汉字典(project-ssss)(题目的坑解析+实现代码)

    目录 题目 示例 1‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬ ...

  4. 浙大python习题超详细思路(第二章)

    人生苦短,我用python https://pintia.cn/problem-sets/1111652100718116864/problems/type/7 题源来自pta 没有读者验证码,只是验 ...

  5. Python 习题 老虎、棒棒、鸡、虫

    Python 习题 老虎.棒棒.鸡.虫 看了好多人写的同项目代码,好长,想着写个短的. import time,random def pd(n,t):if (n == 0 and t == 4) or ...

  6. Python.习题五 列表与元组(下)

    Python.<习题五> 列表与元组 11.假设列表lst_info=[["李玉","男",25],["金忠","男& ...

  7. python高级练习题:多米诺平铺 - 5×2N局【难度:4级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python高级练习题:多米诺平铺 - 5×2N局[难度:4级]: 请还检查了在[多米诺拼接系列]其他练习题(https://www.codewars.com/collections/5d19554d ...

  8. Python习题十三套汇总

    前言: Python习题系列结束,共计13套. 查找具体题目,按Ctrl+F搜关键字,定位到相关习题,再点击标题链接进入. 本章整合13套链接,如下: Python习题 习题一 接受多个整数输出最大值 ...

  9. python进阶练习题:馏分类【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:馏分类[难度:2级]: 为您提供了类"分数",这两个参数(分子,分母)的骨架. 例: fraction1 =分数(4,5) 分数fraction1 =新分数 ...

  10. python习题:函数

    python习题演练(三)(函数) 目录 python习题演练(三)(函数) 五.函数 五.函数 累加函数 描述:编写一个函数实现从 1 到 N 共 N 个数的累加 对指定r计算圆的面积(补全代码) ...

最新文章

  1. Test execution order
  2. TF-IDF与余弦相似性的应用
  3. matlab中if语句的用法_if语句的基本用法
  4. 聚类算法 sklearn k_means (返回一维数据的最优聚类)
  5. python opencv imread()函数 (从文件加载图像)
  6. 《Linux Shell脚本攻略》读书笔记第五章 一网情深
  7. java web 保护_java web项目请求控制及简单漏洞防范
  8. java 客户化排序_第八部分_客户化JSP标签
  9. 转: Linux Grep 命令说明
  10. 小猴子蓝裤黄袄 即时通讯
  11. servlet对java的重要性_浅谈Servlet技术中的Listener起到的作用
  12. webdriver原理(自己做个记录)
  13. linux临时网络配置
  14. SSDP:DDoS***的“新宠”
  15. Eclipse的下载与安装以及JDK环境的配置
  16. php数组中随机抽取,PHP 数组中随机抽取一些元素_PHP教程
  17. Photoshop照片模糊变清晰大全
  18. win10桌面记事本便签有哪款
  19. 时间序列平稳性检验(ADF)和白噪声检验(Ljung-Box)
  20. 造成503 service unavailable常见的原因以及解决方法

热门文章

  1. [转]Windows Mobile 常用键值(VK)对应表及系统文件夹简单介绍
  2. Non-parametric Classifiers
  3. 辛巴学院-Unity-剑英陪你零基础学c#系列(四)函数和封装
  4. 慧驱动正弦高频注入FOC学习笔记
  5. 开源的RSS订阅器FreshRSS
  6. freeswitch的呼叫中心模块——mod_callcenter
  7. Scrapy+MySQL爬取去哪儿网
  8. linux trash命令,Linux/Ubuntu: 使用 trash-cli 防止 rm 命令误删除重要文件
  9. 盖茨被逐出微软董事会真相曝光:长期跟员工搞地下情,27年婚姻中出轨不断,人设已崩...
  10. 【游戏开发阅读列表2】动画(Anima2D、粒子、物理等)