python之道06
1,使⽤循环打印以结果:
*
***
*****
*******
*********
答案:
方法一:
for i in range(10):
if i % 2 == 1:
print(i*'*')
'''
输出结果
*
***
*****
*******
*********
'''
方法二:
for i in range(1,10,2):
print(i*'*')
2,使用while循环打印以下结果:
**********
*********
********
*******
******
*****
****
***
**
*
答案:
for i in range(10,0,-1):
print(i*'*')
3,写代码实现
v1 = {"alex","wusir","taibai"}
v2 = []
循环让用户输入,如果用户输入的内容在v1中存在,就添加到v2中,如果v1中不存在就添加的v1中,用户输入Q退出程序
答案:
v1 = {"alex","wusir","taibai"}
v2 = []
while 1:
enter = input('>>> ')
if enter in v1:
v2.append(enter)
elif enter.upper() == 'Q':
break
else:
v1.add(enter)
print(v1,v2)
# 讲解
v1 = {"alex","wusir","taibai"}
v2 = []
while 1:
my_input = input('>>>')
if my_input.upper() == 'Q': # 最好将q写到第一行,注意需要打印
break
elif my_input in v1:
v2.append(my_input)
else:
v1.add(my_input)
print(v1)
print(v2)
4.判断以下值那个能做字典的key ?那个能做集合的元素?
- -1
- ""
- None
- [1,2]
- []
- (1,2,3)
- ("1")
- (1,)
- {1,2,3,4}
- {"name":"alex","name1":"wusir"}
答案:
可以做字典的key:
1 2 3 6 7 8
可以做集合的元素:
1 2 3 6 7 8
5.is 和 == 的区别是什么?
答案:
is用来判断内存地址是否相同
==用来判断等号两边的值是否相同
6.id的作用是什么?
答案:
id 用来获取内存地址
格式:
l1 = [1,2,3]
print(id(l1))
'''
输出结果
4487978824
'''
7.看代码写结果并解释原因(以下看代码写结果,一定要自己先思考.在验证!)
v1 = {'k1':'v1','k2':[1,2,3]}
v2 = {'k1':'v1','k2':[1,2,3]}
result1 = v1 == v2
result2 = v1 is v2
print(result1)
print(result2)
答案:
v1 = {'k1':'v1','k2':[1,2,3]}
v2 = {'k1':'v1','k2':[1,2,3]}
result1 = v1 == v2 # 值相同内存地址不一定相同
result2 = v1 is v2 # 判断v1和v2的内存地址是否相同,内存地址相同值一定相同
print(result1)
print(result2)
结果:
True
False
8.看代码写结果并解释原因
v1 = {'k1':'v1','k2':[1,2,3]}
v2 = v1
v1['k1'] = 'wupeiqi'
print(v2["k1"] + v1["k1"])
答案:
v1 = {'k1':'v1','k2':[1,2,3]}
v2 = v1 # 赋值 指向同一个内存地址
v1['k1'] = 'wupeiqi' # v1的值发生改变,v2也跟着改变 此时v1 = {'k1':'wupeiqi','k2':[1,2,3]} = v2
print(v2["k1"] + v1["k1"]) #print(wupeiqi+wupeiqi)
wupeiqiwupeiqi
9.看代码写结果并解释原因
v1 = '人生苦短,我用Python'
v2 = [1,2,3,4,v1]
v1 = "人生苦短,用毛线Python"
print(v2)
答案:
v1 = '人生苦短,我用Python'
v2 = [1,2,3,4,v1] # v2中的v1实际指向的是v1的值而不是v1这个变量
v1 = "人生苦短,用毛线Python" # v1的指向发生变化,但是v2还是指向原先的内存地址,代码从上到下执行
print(v2)
结果:
[1,2,3,4,'人生苦短,我用Python']
10.看代码写结果,并解释原因
info = [1,2,3]
userinfo = [info,info,info,info,info]
info[0] = '不仅多,还特么难呢'
print(info,userinfo)
答案:
原因:
info = [1,2,3]
userinfo = [info,info,info,info,info] # 相当于浅拷贝,只拷贝了第一层,第二层发生改变,都变
info[0] = '不仅多,还特么难呢'
print(info,userinfo)
结果:
['不仅多,还特么难呢',2,3]
[['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3]]
11.看代码写结果,并解释原因
dic1 = {"k1":5,"k2":10}
dic2 = dic1.copy()
dic2["k1"] = 1
print(dic1["k1"] + dic2["k1"])
答案:
原因:
dic1 = {"k1":5,"k2":10}
dic2 = dic1.copy() # 浅拷贝,拷贝了第一层,dic1中没有第二层,所以其中一个字典发生改变不影响第二字典,dic2 = {"k1":5,"k2":10}
dic2["k1"] = 1 # dic2 = {"k1":1,"k2":10}
print(dic1["k1"] + dic2["k1"])
结果:6
12.念数字给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号. 然后由用户输入一个数字. 让程序读出相对应的发音(单纯的打印即可,不考虑个十百)
例如: 7.5 输出: qi_dian_wu
dic = {
'0':'ling',
'1':'yi',
'2':'er',
'3':'san',
'4':'si',
'5':'wu',
'6':'liu',
'7':'qi',
'8':'ba',
'9':'jiu',
'.':'dian',
}
答案:
num = input('请输入一个数字: ')
s = ''
for i in num:
s = s + dic[i] + '_'
print(s[:-1])
'''
输出结果
输入:7.5
输出:qi_dian_wu
'''
13.敲七游戏.从1开始数数.遇到7或者7的倍数要在桌上敲⼀下.编程来完成敲七.给出⼀个任意的数字n. 从1开始数. 数到n结束.把每个数字都放在列表中, 在数的过程中出现7或者7的倍数(不包含类似于17,27,这种数).则向列表中添加⼀个'咣'
例如, 输⼊10 # lst = [1, 2, 3, 4, 5, 6, '咣', 8, 9, 10]
答案:
lst = []
while 1:
num = int(input('>>>'))
for i in range(1,num+1):
if i % 7 == 0:
lst.append('咣')
else:
lst.append(i)
print(lst)
'''
输出结果
[1, 2, 3, 4, 5, 6, '咣', 8, 9, 10]
'''
python之道06的更多相关文章
- Python补充06 Python之道
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录 ...
- 彩蛋 Python之道
彩蛋 Python之道 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 使用下面的语句可以调出Python中的一个彩蛋, impo ...
- 【转】Python之道
作者:Vamei 出处:http://www.cnblogs.com/vamei Python有一个彩蛋,用下面语句调出: import this 该彩蛋的文档记录于PEP 20. 语句执行之后,终端 ...
- Python之道(一)之安装Python
"Python之道"首先介绍一下在windows系统下怎样安装Python开发环境. (1)下载MSI安装文件 进入网址www.python.org,点击Downloads进入下载 ...
- Python web前端 06 运算符 循环
Python web前端 06 运算符 循环 一.运算符 #JS六大数据类型 #number 数字 #string 字符串 #boolean 布尔型 #function 函数 #undefined 未 ...
- 一入python深似海--python之道
python社区不乏幽默.先来看"python之道"这首诗. 导入this包: import this 输出是一首诗,这首诗总结了Python的风格,能够指导Python程序猿的编 ...
- Python并发编程06 /阻塞、异步调用/同步调用、异步回调函数、线程queue、事件event、协程
Python并发编程06 /阻塞.异步调用/同步调用.异步回调函数.线程queue.事件event.协程 目录 Python并发编程06 /阻塞.异步调用/同步调用.异步回调函数.线程queue.事件 ...
- Python 30道高频面试题及详细解答
开学啦,开学啦!周末坐地铁的时候看到很多同学推着行李箱,拎着大包小包的穿梭在人群中,哎新的一学期又开始啦,同时也意味着很多同学要准备毕业啦,尤其是准大四,准研三的同学. 今年的招聘行情并不乐观,小公司 ...
- Python 多道技术以及进程、线程和协程
多道技术 并发:看起来像同时运行 并行:真正意义上的同时运行,并行肯定是并发 空间的复用与时间复用 空间复用 多个程序用一套计算机硬件 时间复用 程序切换节省时间 ''' 切换(cup)分为两种情况 ...
随机推荐
- 割点(Tarjan算法)
本文可转载,转载请注明出处:www.cnblogs.com/collectionne/p/6847240.html .本文未完,如果不在博客园(cnblogs)发现此文章,请访问以上链接查看最新文章. ...
- hrbust1444 逃脱 【BFS】
Description 这是mengxiang000和Tabris来到幼儿园的第四天,幼儿园老师在值班的时候突然发现幼儿园某处发生火灾,而且火势蔓延极快,老师在第一时间就发出了警报,位于幼儿园某处的 ...
- Unity3D研究院之游戏对象的访问绘制线与绘制面详解(十七)
一眨眼学习Unity3D 也有一段时间了,基本已经拿下了这套游戏引擎,回过头来想想以前写的RPG 游戏引擎,越来越发现以前写的就是垃圾.人果然是要不断学习与不断进步,好好学习,天天向上.哇咔咔- 加油 ...
- Unity2d 骨骼动画3:介绍Mecanim和脚本
http://bbs.9ria.com/thread-402710-1-1.html 在这个系列,我们将关注Unity引擎提供的基于骨骼动画工具.它的主要思想是为了把它应用到你自己的游戏来介绍和教基本 ...
- Windows 2008 R2 如何安装.net framework 3.5
服务器中安装sql server2012 , 安装过程中提示没有此 “ Framework 3.5.1 功能 ” , 是不是很尴尬 于是简单记录安装 Framework 3.5.1 功能的步骤 一. ...
- 百度网盘不限速!VIP视频免费看!这两款插件被无数人安利!
今天给给位推荐两款,我一直在使用的浏览器插件,简直爆炸!全网VIP视频随意看,所有网页上的视频,你想要的全部都能下载! 这两款插件堪称日常必备插件,只要你使用浏览器,就一定需要下面这些插件功能:快速下 ...
- [題解]luogu P1156 垃圾陷阱
前言:[數據刪除] 來源:題解 不發題面了 首先我们来分析题目,“每个垃圾都可以用来吃或堆放”,浓浓的透露出一个背包气息.我们可以类比背包问题的放或不放.于是dp[i][j]dp[i][j]dp[i] ...
- GCC在windows下的配置
http://blog.csdn.net/lan120576664/article/details/46806991 http://blog.csdn.net/shaynerain/article/d ...
- DDX和DDV——控件与变量之间值的传递
DoDataExchange由框架调用,作用是交互并且验证对话框数据,主要由(DDX) 和 (DDV)宏实现. 永远不要直接调用这个函数,而是通过UpdateData(TRUE/FALSE)实现控件与 ...
- ASP.NET页面传值的方法
ASP.NET页面传值的方法 From:Refresh-air 在面试的时候,经常会遇到这样的问题,其实我们会对其中的几种方法比较熟悉,因为项目中经常使用.但是要全面的回答ASP.NET中页面传值的方 ...