(共22张PPT)
第三章
算法的程序实现
3.2
Python语言程序设计
必修1《数据与计算》
3.2.2
输入输出函数
明远教育
学习目标
输入输出函数
输入函数
输出函数
明远教育
输入函数
输入输出函数
·定义
它是
Python
的内置函数,用于从控制台读取用户输入的内容。
input()
函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。
·格式:
str
=
input(
'tipmsg'
)
--str:一个字符串类型的变量,input()会将读取到的字符串放入
str
中。
--tipmsg:提示信息,它会显示在控制台上,告诉用户应该输入什么样的内容;如果不写
tipmsg,则不会有任何提示信息。
input()函数
明远教育
输入函数
输入输出函数
·例如:
input()函数
a
=
input("Enter
a
number:
")
b
=
input("Enter
another
number:
")
#a,b的数据类型
print("aType:
",
type(a))
print("bType:
",
type(b))
result
=
a
+
b
print("resultValue:
",
result)
print("resultType:
",
type(result))
输出结果:
Enter
a
number:
100↙
Enter
another
number:
45↙
aType:
'str'>
bType:
'str'>
resultValue:
10045
resultType:
'str'>
这里的
“100”和
“45”
都是字符串
明远教育
输入函数
输入输出函数
·在上个例子中如何计算100+45呢?
可以使用
Python
内置函数将字符串转换成想要的类型
--int(string)
将字符串转换成
int
类型;
--float(string)
将字符串转换成
float
类型;
--bool(string)
将字符串转换成
bool
类型。
input()函数
明远教育
输入函数
输入输出函数
input()函数
a
=
input("Enter
a
number:
")
b
=
input("Enter
another
number:
")
a
=
float(a)
b
=
int(b)
#a,b的数据类型
print("aType:
",
type(a))
print("bType:
",
type(b))
result
=
a
+
b
print("resultValue:
",
result)
print("resultType:
",
type(result))
输出结果:
Enter
a
number:
100↙
Enter
another
number:
45↙
aType:
’float‘>
bType:
'int'>
resultValue:
145.0
resultType:
'float'>
明远教育
输入函数
输入输出函数
input()函数
·接收单个输入值
例1:
a
=
input("Enter
a
number:
")
·接收多个输入值
例2:
a,b,c
=
int(
(input("请输入三个值:").split())
)
输出结果:
请输入三个值:3
4
5
↙
注意:
1)输入的数值以【空格】或【Tab键】分隔,【回车键】结束输入
2)接收的变量有几个,则输入的数值也必须对应几个,多输入或少输入,都报错
明远教育
输入函数
输入输出函数
·在
Python2.x
中有两个输入函数
1)raw_input()函数
2)input()函数
·在
Python3.x
中只有一个输入函数:input()函数
因为在
Python3.x
中
raw_input()
和
input()
进行了整合,去除了
raw_input(
),仅保留了input(
)函数
input()函数
明远教育
输出函数
输入输出函数
·定义
它是
Python
的内置函数,用于把指定的内容输出到指定位置。
·格式
(在Python3.x中)
print
(value,...,sep='',end='\n',file=sys.stdout,flush=False)
1)print()
函数可以输出多个值
例如:
print()函数
user_name
=
'Charlie';
user_age
=
8
print("读者名:",user_name,"年龄:",user_age)
输出结果:
读者名:
Charlie
年龄:
8
明远教育
输出函数
输入输出函数
2)通过【sep】参数的设置来改变分隔符
print函数默认以空格隔开多个变量
例如:
print()函数
user_name
=
'Charlie';
user_age
=
8
#同时输出多个变量和字符串,指定分隔符
print("读者名:"
,user_name,"年龄:",user_age,sep='|')
输出结果:
读者名:|Charlie|年龄:|8
明远教育
输出函数
输入输出函数
3)通过【end】参数的设置来设定以什么结尾
print函数默认是换行符
\n
例如:
print()函数
a=1
b='abc'
print(a)
print(b);
print(b,end="
")
print(b,end="")
print(20,end=",")
输出结果:
1
abc
abc
abc20,
明远教育
输出函数
输入输出函数
4)通过【file
】参数的设置来指定输出目标(特定文件)
print函数默认是
sys.stdout,即输出到屏幕
例如:
print()函数
#打开文件以便写入
f
=
open("demo.txt","w")
print('沧海月明珠有泪',file=f)
print('蓝回日暖玉生烟',file=f)
f.close()
左边程序:
--open()
函数用于打开
demo.txt
文件
--2
个
print
函数会将这
2
段字符串依次写入此文件
--调用
close()
函数关闭文件
文件的操作在之后的课程中会详细介绍
明远教育
输出函数
输入输出函数
5)【flush】
参数用于控制输出缓存,该参数一般保持为
False
即可,这样可以获得较好的性能。
print()函数
·输出方式
1)一般的输出
这种方式是我们常见的输出方式。可以直接输出数值、字符串、变量、列表、元组、字典等
例如:
str
=
'Python';L
=
[1,2,'a'];t
=
(1,2,'a')
print(“hello”);
print(100)
print(str);
print(L);
print(t)
输出结果:
hello
100
Python
[1,2,'a']
(1,2,'a')
明远教育
输出函数
输入输出函数
2)格式化输出
⑴
%
的用法
如右图是格式化符号一览表
例如:
print()函数
符号
描述
%c
格式化字符及其ASCII码
%s
格式化字符串
%d
格式化整数
%u
格式化无符号整型
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学计数法格式化浮点数
%E
作用同%e,用科学计数法格式化浮点数
%g
%f和%e的简写
%G
%f
和
%E
的简写
%p
用十六进制数格式化变量的地址
age
=
8
print("小明今年已经%d岁了!"
%
age)
输出结果:
小明今年已经8岁了!
明远教育
输出函数
输入输出函数
·指定对齐方式
print()
输出的数据默认是右对齐的
print()函数
标志
说明
-
指定左对齐
+
表示输出的数字总要带着符号;正数带+,负数带
-
。
0
表示宽度不足时补充
0,而不是补充空格。
注意:
1、对于整数,指定左对齐时,在右边补
0
是没有效果的,因为这样会改变整数的值
2、对于小数,以上三个标志可以同时存在。
3、对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补
0
会改变字符串的值。
明远教育
输出函数
输入输出函数
1、整数输出
%d
——
dec
十进制
%o
——
oct
八进制
%x
——
hex
十六进制
例如:
print()函数
a
=
20
print(“十进制:%d”%a)
print(“八进制:%d,十六进制:%d”%(a,a))
输出结果:
十进制:20
八进制:24,十六进制:14
·指定最小输出宽度
例如:
n
=
1234567
print("n(10):%10d."
%
n)
print("n(
5
):%5d."
%
n)
输出结果:
n(10):
1234567
n(
5
):1234567
n(10):
1234567
n(
5
):1234567
明远教育
输出函数
输入输出函数
2、浮点数输出
%f
——保留小数点后面六位有效数字
%10.3f,最短宽度为10,保留3位小数位
%e
——保留小数点后面六位有效数字,指数形式输出
%.3e,保留3位小数位,使用科学计数法
%g
——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
%.3g,保留3位有效数字,使用小数或科学计数法
例如:
print()函数
print('%f'
%
1.11)
#
默认保留6位小数
print('%5.1f'
%
1.11)
#
最短宽度为5,取1位小数
print('%g'
%
1111.1111)
#
默认6位有效数字
print('%.7g'
%
1111.1111)
#
取7位有效数字
print('%.2g'
%
1111.1111)
#
取2位有效数字,自动转换为科学计数法
输出结果:
1.110000
1.1
1111.11
1111.111
1.1e+03
明远教育
输出函数
输入输出函数
3、字符串输出
%s
%10s——右对齐,占位符10位
%-10s----左对齐,占位符10位
%.2s——-截取2位字符串
%10.2s—-10位占位符,截取两位字符串
例如:
print()函数
print('%s'
%
'hello
world')
#
字符串输出
print('%15s'
%
'hello
world')
#
右对齐,取15位,不够则补位
print('%-15s'
%
'hello
world')
#
左对齐,取15位,不够则补位
print('%.2s'
%
'hello
world')
#
取2位
print('%10.2s'
%
'hello
world')
#
右对齐,取2位
print('%-10.2s'
%
'hello
world')
#
左对齐,取2位
输出结果:
hello
world
hello
world
hello
world
he
he
he
明远教育
输出函数
输入输出函数
2)格式化输出
⑵
format
的用法
1、不带编号,即“{}”
2、带数字编号,可调换顺序,即“{1}”、“{2}”
3、带关键字,即“{a}”、“{tom}”
例如:
print()函数
print('{}
{}'.format('hello','world'))
#
不带字段
print('{0}
{1}'.format('hello','world'))
#
带数字编号
print('{0}
{1}
{0}'.format('hello','world'))
#
打乱顺序
print('{a}
{tom}
{a}'.format(tom='hello',a='world'))
#
带关键字
输出结果:
hello
world
hello
world
hello
world
hello
world
hello
world
明远教育
输出函数
输入输出函数
·格式转换
print()函数
符号
说明
b
二进制。将数字以2为基数进行输出。
c
字符。在打印之前将整数转换成对应的Unicode字符串。
d
十进制整数。将数字以10为基数进行输出。
o
八进制。将数字以8为基数进行输出。
x
十六进制。将数字以16为基数进行输出,9以上的位数用小写字母
e
幂符号。用科学计数法打印数字。用'e'表示幂。
g
一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
n
数字。当值为整数时和'd'相同,值为浮点数时和'g'相同。不同的是它会根据区域设置插入数字分隔符。
%
百分数。将数值乘以100然后以fixed-point('f')格式打印,值后面会有一个百分号
明远教育
输出函数
输入输出函数
·格式转换
例如:
print()函数
print('{0:b}'.format(3))
print('{:c}'.format(20))
print('{:d}'.format(20))
print('{:o}'.format(20))
print('{:x}'.format(20))
print('{:e}'.format(20))
print('{:g}'.format(20.1))
print('{:f}'.format(20))
print('{:n}'.format(20))
print('{:%}'.format(20))
输出结果:
11
_x0014_
20
24
14
2.000000e+01
20.1
20.000000
20
2000.000000%
明远教育
输出函数
输入输出函数
·format的用法变形
例如:
print()函数
name
=
'jack'
age
=
18
sex
=
'man'
job
=
"IT"
salary
=
9999.99
print(f'my
name
is
{name}.')
print(f'I
am
{age:
^10}
years
old.')
print(f'I
am
a
{sex}')
print(f'My
salary
is
{salary:10.3f}')
输出结果:
my
name
is
Jack.
I
am
18
years
old.
I
am
a
man
My
salary
is
9999.990