一、IPO模型
一个程序,按照功能可以划分为三个部分:输入部分、处理部分和输出部分
本讲我们学习基本输入与输出,通过输入函数获取数据(数值型和字符串),通过输出函数将处理结果以某种方式呈现。处理部分会涉及到各种各样的运算,留待下一讲学习。
二、基本输入 - input()函数
1、函数格式
- input(prompt=None, /)
- input(prompt='')
2、参数说明
在IDLE里查看input函数说明
在IPython里查看input函数说明
(1)参数可以省略
(2)函数返回值是字符串
3、实例演示
(1)接收字符串数据
无提示信息参数
有提示信息参数
(2)接收整型数据
input()函数的返回值都是字符串,哪怕输入35,返回的也是字符串'35',此时就需要用int()进行转换
(3)接收浮点型数据
要接收一个浮点数,得用float()进行转换
(4)容易出现的错误
本要接收整型数据,然而输入的是浮点数,或者带有字符,就会抛出ValueError信息
本要接收浮点型数据,然而输入了字符串,就会抛出ValueError信息
三、基本输出 - print()函数
1、函数格式
- print(value, …, sep=' ‘, end='\n', file=sys.stdout, flush=False)
2、参数说明
- 在IDLE里查看print函数说明
在IPython里查看print函数说明
- sep:分隔符(separator)
- end:结束符
- file:文件
- flush:冲洗
3、实例演示
(1)输出空行
不带任何参数
输出九九表时,就要用到这一招
(2)输出一个或多个对象
输出多个对象,默认分隔符是空格
(3)指定分隔符
利用参数sep指定分隔符
(4)指定结束符号
默认结束符是换行符'\n' (\n: new line)
(5)输出到文件
利用file参数来指定目标文件
课堂练习:用你的英文名创建一个文本文件,将你的个人信息(学号、姓名、性别、年龄、专业、电话)写入该文件,然后读取该文件内容,最后输出。
(6)格式输出
采用%d、%f、%s输出整型、浮点型和字符串数据
采用%e输出科学计数法表示的浮点数
采用format()函数实现格式化输出
指定输出数据的宽度以及对齐方式
以输出整型数据为例说明
– %nd,n表示宽度(位数),如果数据位数大于n,那么如实输出数据;如果数据位数小于n,那么输出数据前面凑足空格。用于右对齐输出数据。
– %-nd,n表示宽度(位数),如果数据位数大于n,那么如实输出数据;如果数据位数小于n,那么输出数据后面凑足空格。用于左对齐输出数据。
可以看出,采用format()函数,只能实现右对齐,不能实现左对齐
(7)引申案例 - 输出斐波拉契数列
编写程序 - 斐波拉契数列.py
# -*- coding: utf-8 -*-
"""
功能:斐波拉契数列
作者:华卫
日期:2020年11月7日
"""
def fib(n):
a, b = 1, 1
list = []
if n == 1:
list.append(a)
elif n == 2:
list.append(a)
list.append(b)
else:
list = [a, b]
for i in range(n - 2):
a, b = b, a + b
list.append(b)
return list
print('【斐波拉契数列前30项】')
fib1 = fib(30)
print('右对齐输出:')
for i in range(30):
print('%7d' % fib1[i], end='')
if (i + 1) % 5 == 0:
print()
print('左对齐输出:')
for i in range(30):
print('%-7d' % fib1[i], end='')
if (i + 1) % 5 == 0:
print()
运行程序,查看结果
四、美观输出 - pprint()函数
1、pprint模块概述
pprint 是“pretty printer”的简写,“pretty”的含义是“漂亮的、美观的”,即美观的打印。这是个相当简单却有用的模块,主要用于打印复杂的数据结构对象,例如多层嵌套的列表、元组和字典等。
利用print()函数输出列表mylist = [“Beautiful is better than ugly.”, “Explicit is better than implicit.”, “Simple is better than complex.”, “Complex is better than complicated.”]
- 整个列表一行输出,看起来有点不爽。
- 使用 pprint 模块的 pprint() 替代 print(),可以解决如下痛点:
设置合适的行宽度,作适当的换行
设置打印的缩进、层级,进行格式化打印
判断对象中是否有无限循环,并优化打印内容
2、pprint()函数说明
pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)
- 默认的行宽度参数为 80,当打印的字符(character)小于 80 时,pprint() 基本上等同于内置函数 print(),当字符超出时,它会作美化,进行格式化输出。 3、实例演示 简单使用
设置缩进为 4 个空格(默认为1)
设置打印的行宽
设置打印的层级(默认全打印)
五、课后作业
任务:显示成绩表
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!