Python编程基础04:输入与输出

举报
howard2005 发表于 2021/11/19 03:23:44 2021/11/19
【摘要】 文章目录 一、IPO模型二、基本输入 - input()函数1、函数格式2、参数说明3、实例演示(1)接收字符串数据(2)接收整型数据(3)接收浮点型数据(4)容易出现的错误 三、基本输...

一、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()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 运行程序,查看结果
    在这里插入图片描述

四、美观输出 - 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(),可以解决如下痛点:
    1. 设置合适的行宽度,作适当的换行
    2. 设置打印的缩进、层级,进行格式化打印
    3. 判断对象中是否有无限循环,并优化打印内容

2、pprint()函数说明

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

3、实例演示

  • 简单使用
    在这里插入图片描述
  • 设置缩进为 4 个空格(默认为1)
    在这里插入图片描述
  • 设置打印的行宽
    在这里插入图片描述
  • 设置打印的层级(默认全打印)
    在这里插入图片描述

五、课后作业

任务:显示成绩表

在这里插入图片描述

文章来源: howard2005.blog.csdn.net,作者:howard2005,版权归原作者所有,如需转载,请联系作者。

原文链接:howard2005.blog.csdn.net/article/details/109529135

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。