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,一经查实,立即删除!

相关文章

『CV学习笔记』Opencv和PIL Image以及base64编码互相转化

Opencv和PIL Image以及base64编码互相转化 文章目录 一. opencv&PIL.Image&Skimage1.1. opencv-python读取透明图片(带alpha通道)1.2. opencv、PIL.Image、Skimage读取的彩色图片维度区别1.3. opencv、PIL.Image转换二. base64和cv2 imge互相转换三. base64和PIL imge互…

射频入门知识-混频器-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 题解 总结 前言 无论你是计算机科学专…

CVE漏洞复现-CVE-2021-22555 Linux Netfilter 权限提升漏洞

CVE-2021-22555 Linux Netfilter 权限提升漏洞 漏洞描述 近日,互联网公开了Linux Netfilter权限提升漏洞的POC及EXP,相关CVE编号:CVE-2021-22555。该漏洞在kCTF中被用于攻击kubernetes pod容器实现虚拟化逃逸,该漏洞已在Linux内…

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

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

Arduino驱动MQ2模拟烟雾传感器(气体传感器篇)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 MQ2气体传感器,可以很灵敏的检测到空气中的烟雾、液化气、丁烷、丙烷、甲烷、酒精、氢气等气体,与Arduino结合使用,可以制作火灾烟雾报警、液化气、丁烷、丙烷、甲烷、酒精、氢气气体泄露报警等相…

面试题. 字符串压缩

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a…

【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 应用。 分布式执行测试其实并不是一…

opencv,opengl,osg,vulkan,webgL,opencL,cuda

OpenCV OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Ruby、MATLAB等…

安卓java A应用切换到B应用,来回切换不执行OnCreate

需求:安卓java如何做到A应用切换到B应用,如果B应用没启动就启动,如果B应用已经启动就仅仅切换到B应用。B应用再切换回A应用,不要重复执行OnCreate! 在 A 应用中的: 在 A 应用中,如果你希望在切换回 B 应用…

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

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

分布式搜索ElasticSearch-ES(一)

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

accumulate函数的简单应用

accumulate函数是C numeric库中的一个函数&#xff0c;主要用来对指定范围内元素求和&#xff0c;但也自行指定一些其他操作&#xff0c;如范围内所有元素相乘、相除等。 使用前需要引用头文件&#xff1a; #include <numeric>函数共有四个参数&#xff0c;其中前三个为…

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 笔记&#xff1a; Ajax…

React Native 列表组件基础知识

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

HTML(JavaEE初级系列12)

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

【数据结构•堆】经典问题:k路归并

题目描述 k路归并问题&#xff1a;   把k个有序表合并成一个有序表。&#xff08; k < 10^4 &#xff09; 输入输出格式 输入格式&#xff1a; 输入数据共有 2*k1 行。   第一行&#xff0c;一个整数k&#xff08; k < 10^4 &#xff09;&#xff0c;表示有k个有序…