Python学习之实例1
一、求n个数字的平均值
n=3 #定义常量n=3
sum=0 #定义求和变量sum
count=0 #定义变量count,记录输入数字的次数
print("请输入3个数字:") #提示用户输入数字
while count <n: #当count<n时,执行代码块的内容
number = float(input()) #使用number接收输入的数字,并转换为浮点类型
sum += number #更新sum的值,sum+number后再重新赋值给sum
count +=1 #更新count的值,每输入一个数字count+1
ave = sum/n #计算平均值
print('n={},sum={}'.format(n,sum)) #{}为占位符,使用format插入数据
print('平均值 ave={:.2f}'.format(ave)) #{:.2f}表示保留2位小数的浮点数,若不保留小数,则可写成{:.0f}
知识点:
- print() #打印函数
- 变量 #可以是数字或者字符串,存储可以变化的数据
- 常量 #存储不变的数据
- while循环 #根据条件是否满足来执行代码块中的内容,与for循环有区别:for循环是已知循环次数的循环,range()括号中代表是次数或区间,到达指定次数就停止
- 数据类型 #包括整型int、浮点型float、字符串string、布尔值(True/False)、空值None、列表、元组、集合、字典等等
- input() #接收函数,接收用户输入的内容
- format() #格式化字符串函数,最常用的功能是插入数据和数字格式化;例子中均体现了这两点
- 运算符 #包括算术运算符(加[+]减[-]乘[*]除[/]余[%])、比较运算符(大于/小于/等于……)、赋值运算符(赋值[=]/加法赋值[+=]/减法赋值[-=]/求余赋值[%=]...)、逻辑运算符(且[and]/或[or]/非[not])
- 类型转换 #float(string)、int(string)、str(float)、str(int)
二、逢5则跳过
(背景:打印1~50内,不是5的倍数、不包含5的数字) for i in range(1,51): #循环遍历1~50内的数值
if i % 5 ==0: #如果i求余等于0
continue #跳过当前循环,执行下一循环
elif i % 10==5 or i // 10==5: #如果i求余=5或者i取整等于5
continue #跳过当前循环,执行下一循环
else: #如果以上都不满足
print(i) #打印i
知识点:
- for循环
- 条件判断 #(if ...)(if...else...)(if...elif...else...),if、elif、else 后须加冒号
:,表示一个判断语句,如满足条件,则执行语句块内部的代码 - 运算符 # %为求余,//为取整
- 关键字 # break/continue用来控制流程!break表示停止当前循环,
continue表示跳过当前循环轮次,去执行下一轮循环。
三、计算圆的面积
(背景:计算一个半径=10的圆的面积) import math #导入math模块
area = 10 * 10 * math.pi #面积计算公式,math.pi为圆周率π
print('area ={:.5f}'.format(area)) #打印面积,保留5位小数
四、打印1~100内斐波那契(Fibonacci)数列,即数列的前两项为 1,之后的每一个项都是前两项之和
a,b=0,1 #创建元组,在一行内将多个值赋值个多个变量,即a=0,b=1
while b<100: #当b<100时,执行代码块的代码
print(b) #打印b的值
a,b=b,a+b #将变量a,b重新赋值
知识点:
- 元组 #元组是由数个逗号分割的值组成,用逗号创建元组(tuple),如a,b = 0,1;在赋值语句的右边创建了一个元组,称这为元组封装(tuple packing),赋值语句的左边则是元组拆封 (tuple unpacking)!可实现在一行内将多个值赋值给多个变量。
五、打印九九乘法表
1 i=1
2 print("*" * 30)
3 for i in range(1,10):
4 j=1
5 while j < 10:
6 print('{:2d} * {} ={}'.format(i,j,i*j),end='')
7 j +=1
8 print()
9 i +=1
10 print()
11 print("*" * 30)
知识点:
- print() #打印一个换行符。默认是打印一行,结尾加换行
- end=' ‘ #末尾不换行,加空格
- print(" * " * 30) #字符串乘整数n,则打印由 n 个此字符串拼接起来的新字符串
- {:2d} #显示2个字符宽度的整数,宽度不足则使用空格填充;{:5.2f}表示显示5个字符宽度且保留两位的小数,小数点也算一个宽度,宽度不足则使用空格填充
Python学习之实例1的更多相关文章
- Python学习之实例3
一.文字读取并打印拼接字符串 1 with open('G:\python\char.txt') as f: #使用open()函数以只读模式打开文件 2 s=f.read() #使用read()方法 ...
- Python学习之实例2
一.根据输入的各科成绩统计学生成绩是否达标 1 (背景:输入学生数量,以及各个学生语文.数学.英语.历史四科的成绩,如果总成绩小于 240,则成绩不达标,否则成绩合格) 2 3 #coding=utf ...
- python学习_数据处理编程实例(二)
在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...
- Python学习:类和实例
Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规 ...
- python学习笔记-练手实例
1.题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列 代码: for i in range(1,10): print ('\r') for j ...
- Python学习_11_类和实例
类和实例 类是对象创建实例的模板,而实例则是对象的实体.类使用class关键字定义: class MyClass: pass python中创建实例直接使用工厂函数(类名加上一对括号),和其他的 ...
- Python学习 Day 7 面向对象 类和实例 访问限制
面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
随机推荐
- 做自动化测试选择Python还是Java?
你好,我是测试蔡坨坨. 今天,我们来聊一聊测试人员想要进阶,想要做自动化测试,甚至测试开发,如何选择编程语言. 前言 自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的 ...
- TortoiseSVN 执行清理( cleanUp )失败的解决方案
TortoiseSVN 执行清理( cleanUp )失败的解决方案 今天碰到了一个比较棘手的问题,在这里做一下记录,以方便自己和有需要的朋友在之后碰到该类问题时有个参考. 现象 更新SVN时弹出清理 ...
- Netty内存池的整体架构
一.为什么要实现内存管理? Netty 作为底层网络通信框架,网络IO读写必定是非常频繁的操作,考虑到更高效的网络传输性能,堆外内存DirectByteBuffer必然是最合适的选择.堆外内存在 JV ...
- Python使用tesserocr识别文字过程中遇到的一个问题
最近在使用Python识别PNG图像中包含的文字时遇到一个问题.解决过程记录如下. (Python使用tesserocr的安装过程不再描述.) 在使用tesserocr识别PNG图像中的文字时,如果P ...
- Django 之必知必会三板斧
一.HttpResponse 在django.http 模块中定义了HttpResponse 对象的API,HttpRequest 对象由Django 自动创建,不调用模板,直接返回数据. 1 在 a ...
- catalina.out日志割接
文章转载自:https://blog.51cto.com/loong576/2091460 Tomcat的catalina.out日志分割有多种方式,如logrotate.cronolog等,本文采用 ...
- Traefik 2.0 实现自动化 HTTPS
文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247484457&idx=1&sn=35112e98 ...
- redhat替换yum源时redhat.repo无法删除或禁用的问题
rhel7.3系统,在替换自带的repo源时发现无论是将redhat.repo重命名还是删除,在执行yum命令后总是自动又生成redhat.repo得问题,导致替换的CentOS-Base.repo, ...
- 使用logstash同步mysql 多表数据到ElasticSearch实践
参考样式即可,具体使用配置参数根据实际情况而定 input { jdbc { jdbc_connection_string => "jdbc:mysql://localhost/数据库 ...
- redis cluster 6.2集群
redis最新版本:redis-6.2.1.tar.gz 安装的版本是redis-6.0.3 采用的主机: djz-server-001 192.168.2.163 7001,7002,Admin@1 ...