13、人工智能之Python基础_编程练习题(if while for)必做
第一题:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
第二题:for
创建一个名为favorite_places的字典。
在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的1个地方.
朋友指出一个名字(input)。遍历这个字典,并将输入名字及其喜欢的地方打印出来
还可以继续输入名字 如果输入q则退出
#创建字典
favorite_places = {'张三':['上海','北京','广州'],'李四':['九寨沟','张家界','鼓浪屿'],'东方耀':['长沙', '上海', '深圳']}
第三题:
99乘法表
用for循环打印99乘法表
用while
1x1 =1
1x2 = 2 2x2 = 4
第四题:
1-100的和
1+2+3+4+...+100 = ?
range(1,101)
第五题:
从键盘输入一个字符串,将小写字母全部转换成大写字母,
将字符串以列表的形式输出(如果字符串包含整数,转为整型)?
第六题:
随机输入8位以内的的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
第七题:
一球从n米(自己输入)高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10次落地时,共经过多少米?
第八题:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
第九题:
names = ['Tom','Billy','Jefferson','Andrew','Wesley','Steven',
'Joe','Alice','Jill','Ana','Wendy','Jennifer','Sherry','Eva']
找出上述名字中长度大于4的名字,组成列表打印出来.
过滤掉长度大于5的字符串列表,并将剩下的转换成大写字母.
第十题:
求M,N中矩阵对应元素的和,元素的乘积
m = [[1,2,3], m[0][0] + n[0][0]
[4,5,6],
[7,8,9]]
n = [[2,2,2],
[3,3,3],
[4,4,4]]
第十一题:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,
其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
第十二题:
打印菱形 *
第十三题:
一个5位数,判断它是不是回文数。即12321是回文数,
个位与万位相同,十位与千位相同。
第十四题:
求一个3*3矩阵对角线元素之和
m [0][0]1 m [0][2-0=2] 3
m [1][1]5 m [1][2-1=1] 5
m [2][2]9 m [2][2-2=0] 7
第十五题:
题目:有四个数字:1、2、3、4,能组成多少个互不
相同且无重复数字的三位数?各是多少?
123 213 143 234 431
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去 掉不满足条件的排列。(用列表推导式)
第十六题:
将列表用for循环添加到一个字典中names = ['Tom','Billy','Jefferson','Andrew','Wesley','Steven',
'Joe','Alice','Sherry','Eva']
第十七题:
设一组账号和密码不少于两个
通过输入账号和密码,如果输入正确则显示登录成功
若账号或者密码错误则显示登录失败,最多可以输入三次
users ={'张三':'123456','李四':'654321'}
第十八题:
求阶乘 用while 和for 分别实现
例: 2的阶乘 2*1 3的阶乘位 3*2*1 4的阶乘位4*3*2*1
求 5 的阶乘
第十九题:
冒泡排序 从小到大排序
菱形.png (1.25 KB, 下载次数: 0)
菱形.png
分享到:
QQ好友和群QQ好友和群
收藏收藏
回复 举报
东方耀
246
主题
318
帖子
2175
积分
管理员
Rank: 10Rank: 10Rank: 10
积分2175
发消息
沙发
楼主| 发表于 2018-1-9 21:04:43 | 只看该作者
列表:特点就是:可重复,类型可不同。类型不同也是跟数组最本质的区别了,python里的列表用"[]"表示。
元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用"()"表示,如:
集合就是我们数学学的集合,没有什么特殊的定义。集合最好的应用是去重。集合没有特殊的表示方法,而是通过一个set函数转换成集合,如:
字典最外面用大括号,每一组用冒号连起来,然后各组用逗号隔开。字典最大的价值是查询,通过键,查找值。
回复 举报
东方耀
246
主题
318
帖子
2175
积分
管理员
Rank: 10Rank: 10Rank: 10
积分2175
发消息
板凳
楼主| 发表于 2018-1-9 21:06:27 | 只看该作者
赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。 浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数} 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}