Python入门之经典练习题
第 1 题,输出九九乘法表
分析思路:
1. for 循环机制,先取第一个for循环i的第1个值,跟j遍历完来组合。11 12 13 ... 21 22 23...
得出结论,此处的 i 无需做限制。
2. 找规律
第1行: j = 1 i = 1
第2行: j = 1,2 i = 2
第3行: j = 1,2,3 i = 3
得出结论:j 的最大取值不可大于 i ,只能小于等于,故限制 j 取值范围(1, i+1) => range 函数左闭右开
3. 注意点:
必须使用格式化输出,\t制表符排版,j 遍历完一次就必须换行。
for i in range(1, 10):for j in range(1, i+1):print("%d*%d=%d" % (j, i, i*j), end="\t")print()
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
第 2 题,有 1 2 3 4 这四个数字,能组成多少个互相不同且无重复数字的 3 位数,分别是什么。
思路:要组成几位数,就用几个for循环,无论给了几个数字,全部放进列表,都不用改代码。
count = 0
m = [1, 2, 3, 4]
for a in m:for b in m:for c in m:if a != b and b != c and a != c:count += 1print(a, b, c)
print()
print("能组成%d 个不相同且无重复的3位数" % count)
第 3 题,跟电脑玩剪刀石头布游戏,一直循环玩,可手动退出,不玩了就计算玩家胜率
def play_game():# 总把数count = 0# 胜率把数player_win = 0while True:import randomcomputer = random.randint(1, 3)player = int(input("请输入数字,1剪刀,2石头,3布,0手动退出:"))# 手动退出游戏if player == 0:# 判断一次没玩就退出游戏if count == 0:print("您还没开始游戏!!!")breakprint("游戏结束!!!")print("玩家玩了:%d把,赢了:%d把,胜率:%.2f%%" % (count, player_win, player_win/count * 100))break# elif player < 1 or player > 3:elif player not in (1, 2, 3):print("请输入1-3之间的数字")# 增加换行,美化显示效果print()continue# 把数计数count += 1print("电脑出拳为:%d" % computer)if player == computer - 1 or player == computer + 2:print("玩家胜利!")# 玩家胜利计数player_win += 1elif player == computer:print("平局!")else:print("电脑胜利")print()play_game()
第 4 题,寻找15到20岁的女孩子当拉拉队员,询问,符合要求输出加入成功,询问10次后,输出满足条件总人数
member = {}
count = 0
met_count = 0def laladui(num):global met_countif num["gender"] == "女" and 15 <= num["age"] <= 20:print("可以加入球队!")met_count += 1else:returnwhile True:gender, age = eval(input("请输入性别(加引号),年龄:"))member["gender"] = gendermember["age"] = agelaladui(member)count += 1if count > 5:print()print("已经询问过%d个人" % count)print("符合条件的人数是:%d" % met_count)break
第 5 题,利用 for 循环给列表 ls = [1,7,4,89,34,2,100,0] 从小到大排序,==>冒泡排序法
思路:先取列表的第一个数字,依次跟后面的数字比较大小,如果第一个数字比后面的大,则交换位置。
利用下标来取值,第一个数字a依次从 第一位取到倒数第一位(把最后一位留给第二个数字b来取,好做比较)
第二个数字b依次从第二位取到最后一位。以此类推,当把列表中数字取完,结果就出来了。
a = [1, 7, 4, 89, 34, 2, 100, 0]
for i in range(0, len(a)-1):for j in range(i+1, len(a)):if a[i] > a[j]:a[i], a[j] = a[j], a[i]
print(a)
Python入门之经典练习题相关推荐
- python入门经典例题-Python入门_列表练习题
1:输入三个整数x,y,z,请把这三个数由小到大输出. 2: 如何实现 "1,2,3" 变成 ["1',"2',"3'] 3: l1 = [1,2, ...
- python入门到精通 练习题30道(初级)
主要给学习Python的新手们分享了几道简单练习题,文中给出了详细的示例代码供大家学习参考,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们来一起学习学习吧. 题目1 编程实现,让用户输入一个 ...
- Python入门之经典函数实例——第1关:递归函数 - 汉诺塔的魅力
任务描述 在Python函数内部,我们可以去调用其他函数.所以如果一个函数在内部调用自身,这个函数我们就称为递归函数.本关我们将以汉诺塔的例子来感受递归函数的方法与应用. 汉诺塔问题源于印度一个古老传 ...
- Python 83道经典练习题,含答案!
[程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...
- python入门第一课练习题_老男孩教育Python 9期第一课练习题答案
1.使用while循环输入 1 2 3 4 5 6 8 9 10i = 0 while i i += 1 if i == 7: continue else: print(i) 2.求1-100 ...
- educoder python入门之基础语法答案-Educoder Python入门之经典函数实例
题目链接:https://www.educoder.net/tasks/py2izujr935h 第1关:递归函数 - 汉诺塔的魅力 #coding=utf-8 # 输入正整数n n = int(in ...
- educoder实训答案python_Educoder Python入门之经典函数实例
题目链接:https://www.educoder.net/tasks/py2izujr935h 第1关:递归函数 - 汉诺塔的魅力 #coding=utf-8 # 输入正整数n n = int(in ...
- 自学python买什么教材-最好的Python入门教材是哪本?
哪有什么最好的最好的入门教材. 我大学刚毕业,文科,英语零级. 我大学毕业,理科,计算机专业. 我写了三年Java. 我做了三年销售. 我要用Python做人工智能. 我要用Python写爬虫. 对于 ...
- [转载] Python水平自测!100道经典练习题.pdf(附答案)
参考链接: Python运算子 自学Python最令人头痛的地方,不是学不进去,而是不知道自己学完之后是什么样的水平!篇幅原因本文只分享了前10道练习题. 公号文章处放了前36道题,大家可以自行查阅: ...
- 新手Python入门经典书籍推荐
随着人工智能和大数据时代的来临,开始学习Python的朋友是越来越多了.近来就连房地产大亨潘石屹也在微博上表示,自己开始学Python了.确实在当下,无论是不是做程序员,还是在各个行业像是数据分析.运 ...
最新文章
- ubuntu linux本地源,搭建Ubuntu 12.04 本地源
- 二叉树(2)——遍历的非递归实现
- P5607-[Ynoi2013]无力回天NOI2017【线性基,线段树,树状数组】
- tornado学习笔记day08-tornado中的异步
- C#面向对象编程的3个支柱
- sqlite数据库文件的下载编译和VS中数据库创建demo
- 小型超市管理系统(JAVA,JSP,SSH,MYSQL)
- 100多个经典超酷网站收集
- mac 重启后提示 路径/System/installation/Packages/OSinstall.mpkg 似乎已缺失或已损坏,的解决方法
- 三星堆的青铜机器人_三星堆“青铜纵目人像”到底是谁?专家终于讲出了真相...
- 求求你用数学炒股行不行?
- C语言使用结构体给另一个同类型结构体赋值
- F28335第十二篇——串口拓展(XR16C854)
- Mysql主从延时-Multi-threaded slave statistics for channel
- ftrack与Adobe家三剑客!
- Linux--Ubuntu Tweak
- tc流量控制原理和实现
- java控制台打印输出 中文乱码 解决办法
- AGNES 数据挖掘算法 C语言
- 跟熊浩学沟通30讲读后感_得到《跟熊浩学沟通·30讲》课程介绍