【白话python连载(3)】Python的输入输出

本文是【白话python连载】系列的第三篇,主要讲解Python的输入输出。通过实例展示了input函数获取用户输入并进行类型转换,print函数用于输出结果,以及如何实现格式化输出。此外,还介绍了sys.stdin和sys.stdout在标准输入输出中的作用,帮助开发者更好地调试和构建Python程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎关注公众号【哈希大数据】

系列文章目录:

【白话python连载(1)】 一起遇见python

【白话python连载(2)】 Python的程序结构

【白话python连载(3)】 Python的输入输出实例

【白话python连载(4.1)】 python的数据类型

【白话python连载(4.2)】 python的数据类型

【白话python连载(5)】 python的条件语句

【白话python连载(6)】 python的循环语句

【白话python连载(7.1)】 python的函数应用

【白话python连载(7.2)】 python的模块介绍

【白话python连载(8)】 python的异常处理

【白话python连载(9.1)】 使用python处理文件

【白话python连载(9.2)】 python的os模块

【白话python连载(10)】 python的内置函数


3

巧妙使用输入输出

与python尽情畅聊



〖 python小应用 〗

#问题描述:在有序的数组中新插入一个不存在的数,并且保持该数组仍然有序

import random
def ori_data(start, stop, length):
#准确指定起始范围由小到大
start,stop = (int(start),int(stop)) if start <= stop else (int(stop),int(start))
length = int(abs(length)) if length else 0
if int(abs(start-stop)) < length:
print('所选范围不符合要求,请重新指定')
return None
else:
#利用随机函数生成随机数组,并且保证数值唯一
random_list = []
for i in range(length):
one_number = random.randint(start, stop)
while one_number in random_list:
one_number = random.randint(start,stop)
print('有重复,已经重新生成')
random_list.append(one_number)
random_list = sorted(random_list)
return random_list
if __name__ == '__main__':
ori_data = ori_data(38,22,10)
print('新生成的数组为:{}'.format(ori_data))

运行结果

D:/vernacular/coding_ziyi/InsertAndSort.py

有重复,已经重新生成

有重复,已经重新生成

有重复,已经重新生成

新生成的数组为:[23, 25, 26, 31, 32, 34, 35, 36, 37, 38]

#问题描述:按格式输出九九乘法表

#!/usr/bin/python
# -*- coding: utf-8 -*-
for i in range(1,10):
for j in range(1,i+1):
multip = i * j
print('{}*{}={}'.format(j,i,multip),end=' ')
print('')

运行结果

D:/vernacular/coding_ziyi/multiplication_table.py

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

#问题描述:使用递归调用的方法计算某个数的阶乘

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
def Factorial(num):
if num == 1 :
return 1
else:
result = num * Factorial(num-1)
return result
if __name__ == '__main__' :
print('请输出你要计算的数: ')
first_num = int(sys.stdin.readline( ))
# first_num = int(input('请输入你要计算的数: '))
result = Factorial(first_num)
sys.stdin.write('{}的阶乘是:{}'.format(first_num, result))

运行结果

D:/vernacular/coding_ziyi/recursive.py

请输入你要计算的数: 5

5的阶乘是:120

上述三个小实例,演示了利用python进行输入和输出具体交互。可以在特定位置指定输出内容,进一步了解程序运行过程;完成格式化输出,更加清晰展示运行结果。最重要的是,可以输入不同内容而完成特定的功能。

接下来我们就来具体了解一下python的输入和输出的应用和实现。

〖 python的输入输出 〗

input----根据实际需求指定输入内容的类型

python的内置函数input()可以接受用户输入的相关内容,提供给计算机程序所需的信息,更好的完成特定的任务。在python3.x中raw_input( )和input( )进行了整合,去除了raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。

#案例三
first_num = int(input('请输入你要计算的数: '))

以第三个案例为例,就是为了获得用户想要计算阶乘的一个数字,但是input函数是以字符串的格式存储用户输入的内容的,因此需要在只输入之前强制转化一下数据的类型。而常用的类型转换函数还有str、float、list以及一些第三方包numpy和pandas中特有的类型array、DataFrame、series等等。

有了输入,计算机程序可以更好的按照需求完成相关任务。但是程序也需要将运行结果输出,让用户更好地明确程序的准确性。同样python的内置函数print()就可以很好的完成这一要求。按照常规套路,在安装教程中通常都会执行print(‘hello world’)来验证开发环境是否安装成功。因此输出函数是辅助调试程序的很好地助手。养成良好的格式化输出习惯,对于调整复杂程序或许能起到事半功倍的效果。

print----建立良好的输出习惯

print(‘hello world’)是输出单个字符串,如果要输出多个字符串,可以以逗号分隔每个字符串并且在同一行完成一条print操作,执行完一条print操作会默认执行换行操作,因此如果想要多语句同时输出到同一行,则可以指定参数end=‘,’完成连接多行输出。而且也可以直接在输出中完成数值运算操作(字符串格式的内容必须写入引号中,数值型不需要)。

输出实例

输出结果

print(‘hello world’)

hello world

print(‘hello’, 'world’)

hello world

print(‘hello’)

print(‘world’)

hello

world

print(‘hello’,  end=’’)

print(‘world’)

hello world

print("{1} {0} {1}".format("hello", "world"))

world hello world

print(100+200)

300

在上面的小应用中使用的是格式化动态输出变量的方法,这是python2.6之后推出新的格式化方法。按照指定位置(或设置参数)完成变量的格式化输出。format中有丰富的格式限定符,有很多格式限定方法,使用更加灵活,两种格式化方式如下:

#指定参数名称
print('新生成的数组为:{name}'.format(name=ori_data))
#使用位置参数
print('{0}*{1}={2}'.format(j,i,multip),end=' '),

传统的格式化方法【print(‘%s*%s=%s’%j,%i,%multip)】也依旧是可以应用的,但是更多的是推荐使用新的格式化方法。

stdin&&stdout----python的标准输入输出

除了python内置的输入输出函数input和print,sys.stdin与sys.stdout(python的标准输入输出)也可以等价的完成类似的功能。因为input和print在原则就是通过调用sys.stdin的readline()方法和sys.stdout的write()方法上述两种方法而完成输入输出的,python内置的input和print操作也更便捷,input可以直接内置提示语,不需要另外输出提示语。但是sys.stdin与sys.stdout也有其他不同的功能,要根据实际需求看是否要应用标准的文件格式的输入输出操作。

〖 总结 〗

总之,一个完善的python应用的形成不会是一蹴而就的,因此每次在编写应用程序时,需要不断的进行代码的调试。这时为了很好的找到问题的症结所在,就需要很好地借助python的输入输出函数来完善python程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值