一、 输入 input()
python使用input输入变量,input输入的变量为字符串形式,可以通过其他方式转换为整型或其他类型。
(1)单行读入已知个数的字符串或数字
-
读入字符串
# 单行读入字符串a,并给出一句输入提示
a = input("请输入一个数:")
# 单行读入含有一个空格的字符串,并按照空格分隔开,存进a,b中
a, b = input().split()
# 单行读入含有一个逗号的字符串,并按照逗号分隔开,存进a,b中
a, b = input().split(",")
-
读入数字
# 单行读入单个整数b
b = int(input())
# 单行读入单个浮点数b
b=float(input())
# 单行读入用空格隔开的两个整数a,b
a, b = map(int,input().split())
(2)单行读入不定个整数,储存在列表中
# 单行读入不定个整数(整数之间用空格分隔), 从0开始存入列表a中
a = list(map(int,input().split()))
(3)先输入数字n,再输入n行数,每行一个数
# 先输入一个整数, 表示个数
n = int(input())
# n行, 每行输入一个数字
for i in range(n):
a = int(input())
或者:
# 先输入一个整数, 表示个数
n = int(input())
# n行,每行输入一个整数
a = [int(input()) for i in range(n))]
(4)先输入数字n,再输入n行数,每行三个数,储存在三个列表中,用空格分隔
# 输入一个整数,表示行数
n = int(input())
# 创建三个空列表
x=[]
y=[]
z=[]
# 输入n行,每行输入3个整数,整数之间使用空格分隔
for i in range(n):
a, b, c = map(int,input().split())
x.append(a)
y.append(b)
z.append(c)
二、输入 print()
(1) 单行输出已知个数的字符串或数字
a = 1
b = 2
print(a, b) # 输出结果为:1 2
c = "HelloWorld"
print(a, b, c) # 输出结果为:1 2 HelloWorld
(2)格式化输出
可以调用方法 format 并使用花括号作为占位符,从而得到格式化字符串。
最简单的方法就是使用内置函数format得到格式化字符串,它与字符串的方法format是等价的,如:
a = 1
b = 1.2
print(f'a = {a}, b = {b}')
下面主要介绍字符串的方法format,不过相关细节都是相同的。
# 格式化输出字符串
book = "《数据结构与算法》"
s = '买了一本书:{}'.format(book)
print(s)
# 也可以直接这样写
print('买了一本书:{}'.format(book))
# 输出结果为 买了一本书:《数据结构与算法》
price 68.88
s='花了{},买了一本书:{}'.format(price,book)
print(s)
# 花了68.88,买了一本书:《数据结构与算法》
如果占位符 {} 中不指定参数,方法format的参数会按顺序依次匹配所有的占位符{}。
我们还可利用参数指定某个占位符使用哪个变量进行打印:
# 占位符{}中可以指定位置参数,0表示方法format的第1个参数,1表示方法format的第2个参数
s = '花了{0},买了一本书:{1},只花了{0}!'.format(price,book)
print(s)
# 花了68.88,买了一本书:《数据结构与算法》,只花了68.88!
可以在方法format中指定关键字参数的名称和值,在占位符[}中指定关键字参数的名称。
s = '花了{p},买了一本书:{b},只花了{p}!'.format(p = price, b = book)
print(s)
# 格式化输出整数
-
以某个进制的格式进行输出
# 以十进制的形式输出
print('{:d}'.format(58)) # 58
# 以二进制的格式输出
print('{:b}'.format(58)) # 111010
# 以十六进制的格式输出(a~f是小写)
print('{x}'.format(58)) # 3a
# 以十六进制的格式输出(A~F是大写)
print('{:X}'.format(58)) # 3A
-
以某个精度的格式进行输出
将整数以浮点数的形式进行打印:
# 浮点数
print('{:f}'.format(58)) # 58.000000
占位符 {} 使用冒号指定宽度,如果数字的宽度没有达到指定的宽度,则在左边使用空格进行补齐:
补充:如果字符串的宽度没有达到指定的宽度,则在右边使用空格进行补齐:
print('{:10}'.format(58))
print('{:10}'.format('58'))
打印3.1415926的三位:
print('{:.3}'.format(3.1415926))
保留3.1415926三位小数进行打印:
print('{:.3f}'.format(3.1415926))
同时指定宽度和精度进行打印:
print('{:7.3f}'.format(3.1415926))
注意:这个小数点也占用一个宽度。
只取字符串中的前几位:
print('{:.5}'.format('HelloWorld'))
只取字符串中的前几位,并以某个宽度进行打印:
print('{:10.5}'.format('HelloWorld'))
补充:
使用 ,作为千位的分隔符:
print('{:,}'.format(12345678) # 12,345,678
指定某个时间格式进行打印:
from datetime import datetime
print('{:%Y-%m-%d %H:%M:%S}'.format (datetime(2018,8,18,18,18,18)))
这种指定某种格式进行打印的同时,都可以指定 {} 打印哪个参数:
print('{0:b}'.format(58, 2)) #111010
print('{num1:b}'.format(num1 = 58, num2 = 2)) # 111010
本文参考以下资料,在此对该作者表示感谢:
链接:https://www.jianshu.com/p/30c2ae833ddd
《图解Python》学习路径:图解Python视频教程_Python学习路线-51CTO学堂