python菜鸟教程100例-对菜鸟教程的Python一百例的个别改进
开篇语
好吧,其实是我小妹子Python公选课结课,所以我来帮忙做个大作业(简单到哭的大作业好吗?)!她的大作业就是老师把菜鸟教程的Python一百例扒下来做成文档,然后让学生自己找三个验证下!我们当初是抽选一个内置模块进行翻译以及实现。心塞!一夜大战,我帮她找了三个看起来没那么简单的,然后自己改进了其中两个,估摸着应该能帮她拿个高分,就睡觉了。一夜时间,搞了这点东西,当然要给大伙瞧瞧啦!
正文
第一题 Python 练习实例37
(PS:原文我就懒得放了,有兴趣的自己去菜鸟教程看
程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
def main():
a=[]
b=[0,0,0,0,0,0,0,0,0,0]
N=0
for i in range(10):
print(a.append(int(input("来,把你的十个数字输进来(请别输入重复的:) "))))
for i in range(10):
for j in range(10):
if a[i]>a[j]:
N=N+1
b[N]=a[i]
N=0
print(a)
print(' ')
print(b)
main()
感想:原来的例子用的貌似是挨个按照递增的形式找出排序,然后对号入座,貌似很强啊!但是我这个也不错的样子(我记得算法导论里边有我这种的样子?不过这个真的是我灵机一动想出来的),定两个数组,一个放置原序列,然后每一个跟所有的数字比较,根据它大于的数字N,直接把这个数字赋给第二个正确排序后的数组中对应的N位的元素。这样下来就排的稳稳当当了。不过貌似如果做优化的话,我这个肯定被按在地上摩擦。幸而,这里可以安安静静的献丑!开心~~~
第二题Python 练习实例65 题目:一个最优美的图案。
程序分析:无。(纯粹的画图,因为这个图太好看了。所以没舍得改,就这样吧,只是从2.x 到 3.x 貌似还有点bug要处理下,所幸不难!)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import math
class PTS:
def __init__(self):
self.x = 0
self.y = 0
points = []
def LineToDemo():
from Tkinter import *
screenx = 400
screeny = 400
canvas = Canvas(width = screenx,height = screeny,bg = 'white')
AspectRatio = 0.85
MAXPTS = 15
h = screeny
w = screenx
xcenter = w / 2
ycenter = h / 2
radius = (h - 30) / (AspectRatio * 2) - 20
step = 360 / MAXPTS
angle = 0.0
for i in range(MAXPTS):
rads = angle * math.pi / 180.0
p = PTS()
p.x = xcenter + int(math.cos(rads) * radius)
p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)
angle += step
points.append(p)
canvas.create_oval(xcenter - radius,ycenter - radius,
xcenter + radius,ycenter + radius)
for i in range(MAXPTS):
for j in range(i,MAXPTS):
canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)
canvas.pack()
mainloop()
if __name__ == '__main__':
LineToDemo()
程序结果:实在是漂亮啊
第三题 Python 练习实例82 题目:八进制转换为十进制
程序分析:无。
个人感觉菜鸟教程的这个示例有点问题,因为我运行不出来啊。而且感觉进制转换有结果也是失败了,哪位装了2.x的麻烦跑跑下面的原码,我没装所以只是转成3.x 不知是不是不兼容:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
n = 0
p = raw_input('input a octal number: ')
for i in range(len(p)):
n = n * 8 + ord(p[i]) - ord('0')
print n
既然跑不出结果,但是我小妹子的作业要做完啊。所以我就自己出题自己写咯。本来是想做个十进制转换到任何进制的。结果发现超过十进制的好蛋疼啊。所以就偷懒了做了十进制以下的转换了。万幸能用:
def TenToN():
n=int(input("输入你想转到的进制吧! "))
x=int(input("输入你要转换的十进制,下面交给我吧!"))
a=[]
b=0
Xn=0
if n<=10:
while int(x/n)!=0:
a.append(x%n)
x=int(x/n)
a.append(x%n)
b=len(a)
for i in range(b):
Xn=Xn+a[b-1-i]*pow(10,b-1-i)
print(Xn)
def main():
T=1
while(T):
T=input('告诉我你要干嘛?0是退出,其他是进行运算')
TenToN()
main()
运行出来的结果是蛮喜人的。好歹也是让我拼到四点的东西。咋都要给力点
结束语
那晚考完,失败,心情不佳,感谢我小妹子安慰我啦。也让我沉迷写码不可自拔了。实在是享受!希望以后也能开开心心写点自己想写的东西,而不是跟现在这样被一些作业考试折磨的头痛啊!!!
小小打个广告,不知道简书准不准。不过我还是打了吧,没关系的。微信公众号搜索"工科狗与生物喵”。这是我跟一个小妹子一起办的一个公众号。里面的内容应该会比简书的更加丰富,而且更加精准。欢迎大伙关注。
python菜鸟教程100例-对菜鸟教程的Python一百例的个别改进相关推荐
- python菜鸟教程100实例-运维人员学习python菜鸟教程
这篇文章主要为大家详细介绍了运维人员学习python菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 从不会写代 ...
- 最新 Linux安装项目环境 mysql 完整教程 100%可行.附带所有教程
1.环境背景(2019-7-15) mysql的版本(MySQL-5.6.22-1.el6.i686.rpm-bundle.tar) 链接:https://pan.baidu.com/s/1-tXGG ...
- python菜鸟教程100实例-python菜鸟教程官网
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 之后的某节会讲到如何给mac中的python安装其他模块,比如比较常用的numpy ...
- python学习笔记1——(廖雪峰教程,菜鸟教程)python基础
python学习笔记1--(廖雪峰教程,菜鸟教程) https://www.liaoxuefeng.com(https://www.liaoxuefeng.com) 阿修视频 .Python基础(复习 ...
- python数字求和菜鸟教程_Python Number(数字) | 菜鸟教程
Python Number(数字) Python Number 数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间. 以下实例在变量赋值 ...
- 菜鸟的最后一篇php教程
为什么要起这个名字?其实其中回答了何种人适合看这篇文章--有其他语言基础刚入web后端的初学者.本文主要是对菜鸟教程中的PHP部分做了精简,有基础的能节省不少时间.姊妹篇:菜鸟的最后一篇go教程 PH ...
- Java菜鸟到大牛学习路线培训教程
这是一套Java菜鸟到大牛学习路线培训教程,由工作了10年的资深Java架构师整理.主要分5个阶段:Java程序员->Java初级软件工程师->Java中级软件工程师->Java高级 ...
- Word教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Word 2010入门教程 - 从简单的步骤入门Microsoft Office 2010,从基本到高级概念,包括探索窗口,后台视图,输入文本,移动,打开,关闭文档,上下文帮助,插入,选择, ...
- Apache POI(Word)教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 IT宝库整理的Apache POI Word入门教程 - 从基本到高级概念的简单简单步骤学习Apache POI Word,其中包括概述,Apache POI安装,核心类,文档,段落,边框, ...
最新文章
- python代码示例下载-43个Python代码打包下载
- C语言再学习-- readelf、objdump、nm使用详解
- C/Cpp / extern 关键字
- 手机是如何实现自动对焦的?
- 音视频技术开发周刊 72期
- Go worker并发模式
- d630 无线驱动 linux,fedora 8下DELL D630无线网卡驱动的安装
- 北妈是谁、谁是北妈?他为何如此帅?
- eclipse的简介安装与配置
- 计算机应用基础0035形考答案,计算机应用基础0035形考答案
- You need libtool version 1.5.14 or newer to build
- Thinking in java Java编程思想 该不该读
- IIS7 大文件上传下载限制设置
- 应用程序初始化(0xc0000034)失败
- F2FS MOUNT过程
- “全球发布——主流声音 · 最强路径”在深落幕 引领主流生态融合新模式
- object-c的存取权限(public/protected/private)
- LAD-lasso和线性规划算法
- 小程序开发之组件的使用
- 最新计算机专业技术年度考核,信息技术教师个人年度考核工作总结
热门文章
- qt creator 设置按键颜色_Qt编写自定义控件30-颜色多态按钮
- 海思3159A运行yolov3(一)——安装caffe(Bug汇总篇)
- OpenCV精进之路(十七):工具——图像配准工具
- FFT(快速傅里叶) c语言版
- 让没有连续TabOrder的Edit连续获得焦点 [精华]
- java.lang.IllegalStateException: ActionBarImpl can only be used with a compatible window decor layou
- C#多屏幕显示器编程
- 微软提供的数据访问组件SqlHelper
- JQuery 自定义选择器 详解
- Bailian3252 最大正向匹配【字符串匹配】