Python编程基础之输入与输出

一、IPO模型

一个程序,按照功能可以划分为三个部分:输入部分、处理部分和输出部分

Python编程基础之输入与输出_第1张图片

本讲我们学习基本输入与输出,通过输入函数获取数据(数值型和字符串),通过输出函数将处理结果以某种方式呈现。处理部分会涉及到各种各样的运算,留待下一讲学习。

Python编程基础之输入与输出_第2张图片

 二、基本输入 - input()函数

1、函数格式

  • input(prompt=None, /)
  • input(prompt='')

2、参数说明

在IDLE里查看input函数说明

Python编程基础之输入与输出_第3张图片

在IPython里查看input函数说明

Python编程基础之输入与输出_第4张图片

(1)参数可以省略
(2)函数返回值是字符串

3、实例演示

(1)接收字符串数据

无提示信息参数

Python编程基础之输入与输出_第5张图片

有提示信息参数

Python编程基础之输入与输出_第6张图片 

(2)接收整型数据

input()函数的返回值都是字符串,哪怕输入35,返回的也是字符串'35',此时就需要用int()进行转换

Python编程基础之输入与输出_第7张图片 

(3)接收浮点型数据

要接收一个浮点数,得用float()进行转换

Python编程基础之输入与输出_第8张图片 

(4)容易出现的错误

本要接收整型数据,然而输入的是浮点数,或者带有字符,就会抛出ValueError信息

Python编程基础之输入与输出_第9张图片

 本要接收浮点型数据,然而输入了字符串,就会抛出ValueError信息

Python编程基础之输入与输出_第10张图片

三、基本输出 - print()函数

1、函数格式

  • print(value, …, sep=' ‘, end='\n', file=sys.stdout, flush=False)

2、参数说明

  • 在IDLE里查看print函数说明

Python编程基础之输入与输出_第11张图片

在IPython里查看print函数说明

Python编程基础之输入与输出_第12张图片

  • sep:分隔符(separator)
  • end:结束符
  • file:文件
  • flush:冲洗

3、实例演示

(1)输出空行

不带任何参数

在这里插入图片描述

输出九九表时,就要用到这一招

Python编程基础之输入与输出_第13张图片

Python编程基础之输入与输出_第14张图片 

(2)输出一个或多个对象

输出多个对象,默认分隔符是空格

Python编程基础之输入与输出_第15张图片 

(3)指定分隔符

利用参数sep指定分隔符

Python编程基础之输入与输出_第16张图片 

(4)指定结束符号

默认结束符是换行符'\n' (\n: new line)

Python编程基础之输入与输出_第17张图片 

(5)输出到文件

利用file参数来指定目标文件

Python编程基础之输入与输出_第18张图片

课堂练习:用你的英文名创建一个文本文件,将你的个人信息(学号、姓名、性别、年龄、专业、电话)写入该文件,然后读取该文件内容,最后输出。

(6)格式输出

采用%d、%f、%s输出整型、浮点型和字符串数据

Python编程基础之输入与输出_第19张图片

采用%e输出科学计数法表示的浮点数

Python编程基础之输入与输出_第20张图片

采用format()函数实现格式化输出

Python编程基础之输入与输出_第21张图片

指定输出数据的宽度以及对齐方式

以输出整型数据为例说明

– %nd,n表示宽度(位数),如果数据位数大于n,那么如实输出数据;如果数据位数小于n,那么输出数据前面凑足空格。用于右对齐输出数据。

– %-nd,n表示宽度(位数),如果数据位数大于n,那么如实输出数据;如果数据位数小于n,那么输出数据后面凑足空格。用于左对齐输出数据。

Python编程基础之输入与输出_第22张图片

可以看出,采用format()函数,只能实现右对齐,不能实现左对齐

(7)引申案例 - 输出斐波拉契数列

编写程序 - 斐波拉契数列.py

Python编程基础之输入与输出_第23张图片

# -*- 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()

运行程序,查看结果

Python编程基础之输入与输出_第24张图片 

四、美观输出 - 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.”]

Python编程基础之输入与输出_第25张图片

  • 整个列表一行输出,看起来有点不爽。
  • 使用 pprint 模块的 pprint() 替代 print(),可以解决如下痛点:

设置合适的行宽度,作适当的换行

设置打印的缩进、层级,进行格式化打印

判断对象中是否有无限循环,并优化打印内容

2、pprint()函数说明

  • pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)
  • 默认的行宽度参数为 80,当打印的字符(character)小于 80 时,pprint() 基本上等同于内置函数 print(),当字符超出时,它会作美化,进行格式化输出。 3、实例演示 简单使用

Python编程基础之输入与输出_第26张图片

设置缩进为 4 个空格(默认为1)

Python编程基础之输入与输出_第27张图片

设置打印的行宽

Python编程基础之输入与输出_第28张图片

设置打印的层级(默认全打印)

Python编程基础之输入与输出_第29张图片

 五、课后作业

任务:显示成绩表

Python编程基础之输入与输出_第30张图片

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

你可能感兴趣的:(Python编程基础之输入与输出)