python编程基础与案例集锦,python编程入门经典

大家好,本文将围绕python编程基础与案例集锦展开说明,python编程入门与案例详解是一个很多人都想弄明白的事情,想搞清楚python入门程序例子需要先了解以下几个事情。

 

【程序1】

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1#!/usr/bin/python

2#-*- coding:utf-8 -*-

3#there is no ++ operator in Python

4importstring

5defmain():

6s = raw_input('input a string:')

7letter =

8space =

9digit =

10other =

11forcins:

12ifc.isalpha():

13letter+=1

14elifc.isspace():

15space+=1

16elifc.isdigit():

17digit+=1

18else:

19other+=1

20print'There are %d letters,%d spaces,%d digits and %d other characters in your string.'%(letter,space,digit,other)

21

22if__name__=='__main__':

23main()

【程序2】

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字火车头采集器伪原创。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

【程序3】

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

找出1000以内的所有完数。

'''

【程序28】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第

3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后

问第一个人,他说是10岁。请问第五个人多大?

'''

def fun(i):

if i==1:

return 10

return fun(i-1)+2

print fun(5)

'''

【程序29】

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

'''

def fun(i,cnt):

if i==0:

print 'There are %d digit in the number.'%cnt

return

print i%10,

i/=10

cnt+=1

fun(i,cnt)

i = int(raw_input('Input a number:'))

fun(i,0)

'''

【程序30】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

'''

ans=['Yes','No']

i = int(raw_input('Input a number(10000~99999):'))

if i99999:

print 'Input Error!'

else:

i = str(i)

flag = 0

for j in range(0,2):

if i[j]!=i[4-j]:

flag = 1

break

print ans[flag]

'''

【程序36】【筛选法】

题目:求100之内的素数

'''

a = [0]*101

for i in range(2,11):

for j in range(i+i,101,i):

a[j]=-1;

for i in range(2,101):

if a[i]!=-1:

print ' ',i,

'''

【程序37】

题目:对10个数进行排序

'''

print 'input 10 numbers please:'

l = []

for i in range(10):

l.append(int(raw_input('Input a number:')))

#可以直接使用sort函数:l.sort()

#也可以自己写排序代码(选择排序)

for i in range(9):

for j in range(i+1,10):

if l[j]

temp = l[j]

l[j] = l[i]

l[i] = temp

print l

'''

【程序38】

题目:求一个3*3矩阵对角线元素之和

'''

l = []

for i in range(3):

for j in range(3):

l.append(int(raw_input('Input a number:')))

s = 0

for i in range(3):

s += l[3*i+i]

print s

'''

【程序39】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

'''

l = [0,10,20,30,40,50]

print 'The sorted list is:',l

cnt = len(l)

n = int(raw_input('Input a number:'))

l.append(n)

for i in range(cnt):

if n

for j in range(cnt,i,-1):

l[j] = l[j-1]

l[i] = n

break

print 'The new sorted list is:',l

'''

【程序40】

题目:将一个数组逆序输出。

'''

a = [1,2,3,4,5,6,7,8,9]

l = len(a)

print a

for i in range(l/2):

a[i],a[l-i-1] = a[l-i-1],a[i] #注意此句

print a

'''

【程序56】

题目:画圆【Tkinter模块】

'''

if __name__ == '__main__':

from Tkinter import *

canvas = Canvas(width=800, height=600, bg='red')

canvas.pack(expand=YES, fill=BOTH)

k = 1

j = 1

for i in range(0,26):

canvas.create_oval(310 - k,250 - k,310 + k,250 + k, width=1)

k += j

j += 0.3

mainloop()

'''

【程序57】

题目:画直线。

1.程序分析:

2.程序源代码:

'''

if __name__ == '__main__':

from Tkinter import *

canvas = Canvas(width=300, height=300, bg='green')

canvas.pack(expand=YES, fill=BOTH)

x0 = 263

y0 = 263

y1 = 275

x1 = 275

for i in range(19):

canvas.create_line(x0,y0,x0,y1, width=1, fill='red')

x0 = x0 - 5

y0 = y0 - 5

x1 = x1 + 5

y1 = y1 + 5

x0 = 263

y1 = 275

y0 = 263

for i in range(21):

canvas.create_line(x0,y0,x0,y1,fill = 'red')

x0 += 5

y0 += 5

y1 += 5

mainloop()

'''

【程序58】

题目:画方形。

'''

if __name__ == '__main__':

from Tkinter import *

root = Tk()

root.title('Canvas')

canvas = Canvas(root,width = 400,height = 400,bg = 'yellow')

x0 = 263

y0 = 263

y1 = 275

x1 = 275

for i in range(19):

canvas.create_rectangle(x0,y0,x1,y1)

x0 -= 5

y0 -= 5

x1 += 5

y1 += 5

canvas.pack()

root.mainloop()

'''

题目:画图,综合例子。

1.程序分析:

2.程序源代码:

'''

if __name__ == '__main__':

from Tkinter import *

canvas = Canvas(width = 300,height = 300,bg = 'green')

canvas.pack(expand = YES,fill = BOTH)

x0 = 150

y0 = 100

canvas.create_oval(x0 - 10,y0 - 10,x0 + 10,y0 + 10)

canvas.create_oval(x0 - 20,y0 - 20,x0 + 20,y0 + 20)

canvas.create_oval(x0 - 50,y0 - 50,x0 + 50,y0 + 50)

import math

B = 0.809

for i in range(16):

a = 2 * math.pi / 16 * i

x = math.ceil(x0 + 48 * math.cos(a))

y = math.ceil(y0 + 48 * math.sin(a) * B)

canvas.create_line(x0,y0,x,y,fill = 'red')

canvas.create_oval(x0 - 60,y0 - 60,x0 + 60,y0 + 60)

for k in range(501):

for i in range(17):

a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k

x = math.ceil(x0 + 48 * math.cos(a))

y = math.ceil(y0 + 48 + math.sin(a) * B)

canvas.create_line(x0,y0,x,y,fill = 'red')

for j in range(51):

a = (2 * math.pi / 16) * i + (2* math.pi / 180) * k - 1

x = math.ceil(x0 + 48 * math.cos(a))

y = math.ceil(y0 + 48 * math.sin(a) * B)

canvas.create_line(x0,y0,x,y,fill = 'red')

mainloop()

作者:ZH奶酪——张贺

出处:http://www.cnblogs.com/CheeseZH/

声明:文章著作权归作者所有,如有侵权,请联系小编删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/34842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

射频入门知识-混频器-1

5.4混频电路-视频_哔哩哔哩_bilibili ​​​​​​​

【算法题】螺旋矩阵II (求解n阶Z形矩阵)

一、问题的提出 n阶Z形矩阵的特点是按照之(Z)字形的方式排列元素。n阶Z形矩阵是指矩阵的大小为nn,其中n为正整数。 题目描述 一个 n 行 n 列的螺旋(Z形)矩阵如图1所示,观察并找出填数规律。 图1 7行7列和8行8列的螺旋(Z形)矩阵 现在给出矩阵大小 n&…

数据结构入门:栈

目录 前言 1. 栈 1.1栈的概念及结构 1.2 栈的实现 1.2.1 栈的定义 1.2.2 栈的初始化 1.2.3 入栈 1.2.4 出栈 1.2.5 栈的元素个数 1.2.6 栈顶数据 1.2.7 栈的判空 2.栈的应用 2.1 题目一:括号匹配 2.1.1 思路 2.1.2 分析 2.1.3 题解 总结 前言 无论你是计算机科学专…

用chatGPT从左右眼图片生成点云数据

左右眼图片 需求 需要将左右眼图像利用视差生成三维点云数据 先问问chatGPT相关知识 进一步问有没有现成的软件 chatGPT提到了OpenCV,我们让chatGPT用OpenCV写一个程序来做这个事情 当然,代码里面会有一些错误,chatGPT写的代码并不会做模…

【JavaEE进阶】Spring 更简单的读取和存储对象

文章目录 一. 存储Bean对象1. 配置扫描路径2. 添加注解存储 Bean 对象2.1 使用五大类注解存储Bean2.2 为什么要有五大类注解?2.3 有关获取Bean参数的命名规则 3. 使用方法注解储存 Bean 对象3.1 方法注解储存对象的用法3.2 Bean的重命名3.3 同⼀类型多个 Bean 报错 …

Spring Boot单元测试与Mybatis单表增删改查

目录 1. Spring Boot单元测试 1.1 什么是单元测试? 1.2 单元测试有哪些好处? 1.3 Spring Boot 单元测试使用 单元测试的实现步骤 1. 生成单元测试类 2. 添加单元测试代码 简单的断言说明 2. Mybatis 单表增删改查 2.1 单表查询 2.2 参数占位符 ${} 和 #{} ${} 和 …

学点Selenium玩点新鲜~,让分布式测试有更多玩法

前 言 我们都知道 Selenium 是一款在 Web 应用测试领域使用的自动化测试工具,而 Selenium Grid 是 Selenium 中的一大组件,通过它能够实现分布式测试,能够帮助团队简单快速在不同的环境中测试他们的 Web 应用。 分布式执行测试其实并不是一…

小米平板6Max14即将发布:自研G1 电池管理芯片,支持33W反向快充

明天晚上7点(8 月 14 日),雷军将进行年度演讲,重点探讨“成长”主题。与此同时,小米将推出一系列全新产品,其中包括备受瞩目的小米MIX Fold 3折叠屏手机和小米平板6 Max 14。近期,小米官方一直在…

分布式搜索ElasticSearch-ES(一)

一、ElasticSearch介绍 ES是一款非常强大的开源搜索引擎,可以帮我们从海量的数据中快速找到我们需要的内容。 ElasticSearch结合kibana、Logstash、Beats,也就是elastic stack(ELK),被广泛运用在日志数据分析,实时监控等领域。 …

Ajax 笔记(二)—— Ajax 案例

笔记目录 2. Ajax 综合案例2.1 案例一-图书管理2.1.1 渲染列表2.1.2 新增图书2.1.3 删除图书2.1.4 编辑图书 2.2 案例二-背景图的上传和更换2.2.1 上传2.2.2 更换 2.3 案例三-个人信息设置2.3.1 信息渲染2.3.2 头像修改2.2.3 信息修改2.3.4 提示框 Ajax 笔记: Ajax…

React Native 列表组件基础知识

ScrollView 组件 ScrollView组件是一个容器滚动组件,当容器超出指定宽高时就可以进行滚动交互。 ScrollView组件是一次性渲染所有的 React 子组件,这在性能上是比较差的,所以不建议当列表特别长的时候使用此组件。 接下来列举几个常用的一…

HTML(JavaEE初级系列12)

目录 前言: 1.HTML结构 1.1认识HTML标签 1.2HTML文件基本结构 1.3标签层次结构 1.4快速生成代码框架 2.HTML常见标签 2.1注释标签 2.2标题标签:h1-h6 2.3段落标签:p 2.4换行标签: br 2.5格式化标签 2.6图片标签&#…

【详细教程】学会使用Python隧道代理

作为一名专业爬虫程序猿,我深知在进行网络数据采集时,可能会面临网络封锁、隐私泄露等问题。今天,我将与大家分享如何学会使用Python隧道代理,帮助我们自由访问受限网站,同时保护了解探索Python隧道代理! …

3.1 Spring MVC概述

1. MVC概念 MVC是一种编程思想,它将应用分为模型(Model)、视图(View)、控制器(Controller)三个层次,这三部分以最低的耦合进行协同工作,从而提高应用的可扩展性及可维护…

解开谜团:为什么红黑树胜过AVL树?

为什么红黑树胜过AVL树 博主简介一、引言1.1、红黑树和AVL树简介1.2、红黑树在某些方面优于AVL树 二、红黑树和AVL树的基本原理2.1、红黑树的定义和性质2.2、AVL树的定义和性质2.3、对比两种树结构的特点 三、插入和删除操作的复杂性比较3.1、红黑树的插入操作和平衡性维护3.2、…

【Bert101】变压器模型背后的复杂数学【02/4】

一、说明 众所周知,变压器架构是自然语言处理(NLP)领域的突破。它克服了 seq-to-seq 模型(如 RNN 等)无法捕获文本中的长期依赖性的局限性。变压器架构被证明是革命性架构(如 BERT、GPT 和 T5 及其变体&…

【阵列信号处理】空间匹配滤波器、锥形/非锥形最佳波束成形器、样本矩阵反演 (SMI) 研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

关于使用pycharm遇到只能使用unittest方式运行,无法直接选择Run

相信大家可能都遇到过这个问题,使用pycharm直接运行脚本的时候,只能选择unittest的方式,能愁死个人 经过几次各种尝试无果之后,博主就放弃死磕了,原谅博主是个菜鸟 后来遇到这样的问题,往往也就直接使用cm…

Python爬虫-抓取的目标数据为#x开头,怎么解决?

前言 本文是该专栏的第4篇,后面会持续分享python爬虫案例干货,记得关注。 在做爬虫项目的时候,有时候抓取的平台目标数据为&#x开头,如下图所示: 浏览器显示的正常数据,但通过爬虫协议获取到的网页源码数据却是以&#x开头的隐藏数据,遇到这种情况,爬虫需要怎么处…

【Linux从入门到精通】文件I/O操作(C语言vs系统调用)

文章目录 一、C语言的文件IO相关函数操作 1、1 fopen与fclose 1、2 fwrite 1、3 fprintf与fscanf 1、4 fgets与fputs 二、系统调用相关接口 2、1 open与close 2、2 write和read 三、简易模拟实现cat指令 四、总结 🙋‍♂️ 作者:Ggggggtm 🙋‍…