1.过桥(爬金字塔):

  1 i = 1
2 while i <= 9:
3 if i < 6:
4 j = 0
5 while j < i:
6 print('*',end=' ')
7 j += 1
8 elif i >= 6:
9 j = 5
10 while j > i - 5:
11 print('*',end=' ')
12 j -= 1
13 print('')
14 i += 1
15

2.动态打印9*9乘法表多次:

  1 def print_99_once():
2 i = 1
3 while i <= 9:
4 j = 1
5 while j <= i:
6 print('%d*%d=%d' %(j,i,i*j),end=' ')
7 j += 1
8 print('')
9 i += 1
10
11 def print_99_more(num):
12 i = 1
13 while i <= num:
14 print_99_once()
15 i += 1
16
17
18 num = int(input('打印99乘法表多次,请输入一个数打印几次:'))
19 print_99_more(num)

3.动态计算1~?的累计和:

  1 def sum_1_n(a):
2 num = 1
3 result = 0
4 while num <= a:
5 result = result + num
6 num += 1
7 return result
8
9 a = int(input('计算1-?的累计和,请输入?的值:'))
10 total = sum_1_n(a)
11 print(total)

4.随机给老师分配办公室(办公室至少有1人):

  1 import random
2 offices = [[],[],[]]#总共3个办公室
3 teachers = ['A','B','C','D','E','F','G','H']#老师名单
4 offices[0].append(teachers[random.randint(0,7)])#保证每个办公室至少有1个老师
5 teachers.remove(offices[0][0])
6 offices[1].append(teachers[random.randint(0,6)])
7 teachers.remove(offices[1][0])
8 offices[2].append(teachers[random.randint(0,5)])
9 teachers.remove(offices[2][0])
10 for teacher in teachers:
11 office = offices[random.randint(0,2)] #随机索引出一个办公室
12 office.append(teacher)
13 i = 1 #表示第几个办公室,默认从1开始
14 for office in offices: #13~16可以用enumerate替代
15 print('办公室%d有:%d人' %(i,len(office)))
16 i += 1
17 for teacher in office:
18 print('%s' %teacher,end=' ')
19 print('='*30)

5.统计Python哲学这段文字中'' to ''出现的次数

content = """Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!""" count = content.count("to")
print("to在上面的文字共出现:%d次" % count)

这段英文有几大特点:不在一行    靠左对齐   都已句号结尾    出现多次单引号

因此,转字符串count时bug不断。【把一段英文转为字符串不只有一对单引号,一对双引号,还有一对3个单引号】

6.求1-100累计和:

  1 num = 1
2 sum = 0
3 while num <= 100:
4 sum += num
5 num += 1
6 print ('1~100包含(1和100)的和是:%d'%sum)

7.求1-100中偶数累计和:

  1 num = 1
2 sum = 0
3 while num <= 100:
4 if num%2 == 0:
5 sum += num
6 num += 1
7 print('1-100(包含1和100)中偶数和是:%s'%sum)

8.打印1-100:

  1 num = 1
2 while num <= 100:
3 print(num)
4 num += 1

9.打印三角形:

  1 i = 1
2 while i <= 5:
3 j = 0
4 while j < i:
5 print('*',end='')#end=''阻止打印默认行为
6 j += 1
7 i += 1
8 print('')#换行等价打印\n

10.打印矩形:

  1 i = 0
2 while i < 5:
3 print('*'*5)
4 i += 1

11.猜拳游戏 (按q退出):

  1 while True:
2 import random
3 player = input('请出拳:0石头,1剪刀,2布,或者按q退出')
4 computer = random.randint(0,2)
5 if player == 'q':
6 print('='*10)
7 break
8 else:
9 player =int(player)
10 if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0):
11 print('玩家赢啦')
12 elif player == computer:
13 print('平局')
14 else:
15 print('你输了')

12.用户输入分数获取等级(循环 + 按q退出):

  1 while True:
2 score = input('请输入你的考试成绩或者按q退出:')
3 if score == 'q':
4 break
5 else:
6 score = int(score)
7 if 90<= score <100:
8 print('你的考试等级A')
9 elif 80<= score <90:
10 print('你的考试等级B')
11 elif 70<= score <80:
12 print('你的考试等级C')
13 elif 60<= score <70:
14 print('你的考试等级D')
15 else:
16 print('你的考试不及格')

13.字典名片管理系统:

print('='*35)
print('\t名片管理系统1.1')
print('\t1.新增一个名片')
print('\t2.删除一个名片')
print('\t3.修改一个名片')
print('\t4.查看一个名片')
print('\t5.显示名片列表')
print('\t6.退出名片管理系统')
print('='*35)
card_infos = []
while True:
num = int(input('请输入您选择的编号:'))
if num == 1:
name = input('请输入要增加名片的姓名:')
qq = int(input('请输入要增加名片的qq:'))
wechat = input('请输入要增加名片的微信:')
card_info = {}
card_info['姓名'] = name
card_info['QQ'] = qq
card_info['微信'] = wechat
card_infos.append(card_info)
print('名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
elif num == 2:
flag = 0
select = int(input('输入1根据内容删除;输入2根据下标删除:'))
if select == 1:
name = input('请输入要删除名片的姓名:')
for card_info in card_infos:
if card_info.get('姓名') == name:
card_infos.remove(card_info)
print('删除成功!')
print('删除后名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
flag = 1
break
elif flag == 0:
print('您要删除的名片不存在!')
elif select == 2:
index = int(input('请输入要删除名片序号:'))
if index <= len(card_infos)+1:
del card_infos[index-1]
name = card_infos[index-1]['姓名']
print('删除成功!')
print('删除后名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
else:
print('您要删除的名片不存在!')
else:
print('输入有误!输入1根据内容删除;输入2根据下标删除')
continue
elif num == 3:
name = input('请输入要修改名片的姓名:')
content = input('请输入要修改的内容:')
new_content = input('请输入新内容:')
for card_info in card_infos:
if card_info.get('姓名') == name:
if content == card_info.get('姓名'):
card_info['姓名'] = new_content
print('修改成功!')
print('删除后名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
flag = 1
break
elif content == str(card_info.get('QQ')):
new_content = int(new_content)
card_info['QQ'] = new_content
print('修改成功!')
print('删除后名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
flag = 1
break
elif content == card_info.get('微信'):
card_info['微信'] = new_content
print('修改成功!')
flag = 1
print('删除后名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
break
elif flag == 0:
print('您要修改的名片不存在!')
else:
print('您要修改的名片不存在!')
elif num == 4:
name = input('请输入要查看名片的姓名:')
for card_info in card_infos:
if card_info.get('姓名') == name:
print('姓名\tQQ\t微信')
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
flag = 1
break
elif flag == 0:
print('您要查看的名片不存在!')
elif num == 5:
print('名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
elif num == 6:
break
else:
print('输入有误!请输入正确的编号')

14.你输什么我都给你倒过来:

  1 while True:
2 content = input('你输入什么我都能给你倒过来输出:')
3 if content == 'q':
4 break
5 else:
6 if type(content) == int:
7 content = int(content)
8 print(content[::-1])
9 else:
10 print(content[::-1])

Python案例分享的更多相关文章

  1. ArcGIS Add-in插件开发从0到1及实际案例分享

    同学做毕设,要求我帮着写个ArcGIS插件,实现功能为:遍历所有图斑,提取相邻图斑的公共边长及其他属性(包括相邻图斑的ID),链接到属性表中.搞定后在这里做个记录.本文分两大部分: ArcGIS插件开 ...

  2. Office 2010 KMS激活原理和案例分享

    Office 2010 KMS激活原理和案例分享     为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企业客户推出了新的批量激活方式:KMS和MAK.这 ...

  3. Office 2010 KMS激活原理和案例分享 - Your Office Solution Here - Site Home - TechNet Blogs

    [作者:葛伟华.张玉工程师 ,  Office/Project支持团队, 微软亚太区全球技术支持中心 ] 为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企 ...

  4. 老李案例分享:Weblogic性能优化案例

    老李案例分享:Weblogic性能优化案例 POPTEST的测试技术交流qq群:450192312 网站应用首页大小在130K左右,在之前的测试过程中,其百用户并发的平均响应能力在6.5秒,性能优化后 ...

  5. 性能调优案例分享:Mysql的cpu过高

    性能调优案例分享:Mysql的cpu过高   问题:一个系统,Mysql数据库,数据量变大之后.mysql的cpu占用率很高,一个测试端访问服务器时mysql的cpu占用率为15% ,6个测试端连服务 ...

  6. 老李案例分享:MAT分析应用程序服务出现内存溢出过程

    老李案例分享:MAT分析应用程序服务出现内存溢出过程   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的loa ...

  7. 老李案例分享:定位JAVA内存溢出

    老李案例分享:定位JAVA内存溢出   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的loadrunner的培 ...

  8. 性能调优案例分享:jvm crash的原因 1

    性能调优案例分享:jvm crash的原因   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...

  9. [转载]DevOps在传统企业的落地实践及案例分享

    内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...

随机推荐

  1. Hadoop2.7.3集群搭建

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.4.1又增加了YARN HA   注意:apache提供的hadoop-2.4.1的安装 ...

  2. 手机1520 win8.1升级win10

    昨天买了手机1520,卖家不错:https://item.taobao.com/item.htm?id=525484481986 于是我想把win8.1升级为win10 首先去http://www.i ...

  3. 初学python之,IDLE安装

    首先新手上路,写的第一篇博客,希望大家不要吐槽. 1.首先在python官网下载最新python版本 https://www.python.org/(注意根据自己的操作系统来选版本) 安装很简单傻瓜式 ...

  4. UVa 1608,Non-boring sequences

    好诡异的一个题啊 紫书上关于从左边找还是从两边往中间找的讨论没有看懂,怎么一下就找到唯一的元素了(⊙_⊙?) 方法就是用的书上讲的方法,类似于uva 11572,不过这个题需要预处理存下两边的最近的相 ...

  5. NotePad++ 正则表达式替换 高级用法 [转]

    转自:http://blog.csdn.net/gdp12315_gu/article/details/51730584 在我们处理文件时,很多时候会用到查找与替换.当我们想将文件中某一部分替换替换文 ...

  6. asp.net上传文件限制解决方案

    环境:VS2012,IIS7 利用web uploader实现了一个文件上传的功能,但是遇到上传大小的限制,在web.config的<system.web>节点下添加如下代码: <h ...

  7. PHP使用header方式实现文件下载

    php文件下载可以使用http的请求头加上php的IO可以实现,很久之前写过这么一个功能,后来代码没了,今天记录一下 1.先看一下一个正常的http请求 HTTP/1.1 200 OK Server: ...

  8. Element ui表格展示图片问题

    当需要遍历图片时,不能直接使用prop绑定值,具体 代码如下 <el-table-column label="头像" width="100"> &l ...

  9. 微信小程序左滑删除功能

    效果图如下: wxml代码: <view class="container"> <view class="touch-item {{item.isTou ...

  10. bug:未考虑实际使用场景

    最近bug比较多,汗颜. 1.需求背景 (1)app活动页面,用户参与并完成能够以1分钱价格购买指定商品(2)这个页面可分享至app以外的渠道,如微信.QQ等 2.这个bug的表现形式:用户在第三方渠 ...