Python基础输入输出技巧

强烈推荐!!Python系列专栏更多内容汇总可以点击下面跳转链接查看
Python基础语法+算法模板+例题分享专栏导航



前言

题主目前大三cs学生,为了保研报了py组的蓝桥杯想水个奖,后面会更新python的基础语法、算法与一些题目和理解。更新顺序是先语法,待题主回忆完所有的python基础语法后更新python的基础算法模板,之后会更新蓝桥杯、天梯赛的一些使用python完成的题目。由于水平有限,可能会出现错误,欢迎各位大佬执教!!!

ps:因为题主有基础,写文章本意在回忆,本文章有部分非常基础的函数跳过了讲解,如果纯新手可以看其他大佬的文章,或者直接谷歌搜索即可


1. 基础输入技巧

1.1 input()函数

input(): 该函数接受一个标准输入数据,返回为 string 类型。

下面是使用input()接收多个值的例子:

a,b,c = (input("请输入三角形三边的长:").split())
a= int(a)
b= int(b)
c= int(c)

#计算三角形的半周长p
p=(a+b+c)/2

#计算三角形的面积s
s=(p*(p-a)*(p-b)*(p-c))**0.5

#输出三角形的面积s
print("三角形面积是%s" % s)

输出的结果如下:
在这里插入图片描述

注意:input()接收的是字符串,接收后赋给变量依旧是字符串,因此当你需要使用这个变量的时候,记得把类型转换一下,比如上面的例子,a、b、c需要的类型是int,则input接收后分别对a、b、c进行int(a)强转,得到需要的数据类型

1.2 使用map()函数实现输入赋值

为了解决input()给变量赋值后,变量只能是string类型的问题,引入了map(int, input().split()),表示通过split空格把输入内容进行分离,并以int的数据类型进行赋值

a,b = map(int, input().split())

print(type(a))
print(type(b))

输入与输出的结果如下:
在这里插入图片描述

2. 基础输出技巧

2.1 直接输出

蓝桥杯一般用print就可以实现所有输出的功能,下面是基础使用方法,对于代码中出现的数据结构可以先不理解,后面会有详细讲解

print("runoob")  # 输出字符串
#输出结果:runoob 
print(100)            # 输出数字
#输出结果:100
str = 'runoob'
print(str)            # 输出变量
#输出结果:runoob
L = [1,2,'a']         # 列表 
print(L)  
#输出结果:[1, 2, 'a']  
t = (1,2,'a')         # 元组
print(t)  
#输出结果:(1, 2, 'a')  
d = {'a':1, 'b':2}    # 字典
print(d)  
#输出结果:{'a': 1, 'b': 2}

2.2 格式化输出(和c++差不多)

代码如下(示例):

print("the length of %s is %d" %('runoob',len('runoob')))

输出结果如下:
在这里插入图片描述
注意:这里的%s和%d其实就是占位符,在输出后使用 %(占位内容1、占位内容2),即可实现对展位内容的格式化输出

这里想说一下对于浮点数的格式化输出,因为有的题目会对浮点数要求四舍五入,其实这就和c++的printf差不多,下面给出一个例子

pi = 3.1415926
print("%.3f" % pi)

需要注意的是,python中没有c/c++中的double型,写算法时浮点数类型只有float,因此在输出的时候以%f作为浮点数的占位符,需要保留几位小数(x位),即为%.xf

对于浙大的PAT攀拓和天梯赛,有部分题是给个固定位数的编号,比如00123(五位数编号),这种题可以使用整型int,比如123,在输出的时候在前面补0即可,下面给一个固定位数补0的操作:

a = 123
print("%05d" % a)

输出的结果为:00123
其中,"%05d"表示的意思是,输出的时候长度是5,如果长度不是5,则用0补。显然,123长度为3,因此补两个0,所以结果是00123。
那么有小伙伴可能会问,那如果a = 123456,长度为6,输出时候仍然为5位补0呢?

a = 123456
print("%05d" % a)

输出的结果为:123456,可以看到,如果变量本身的长度大于输出设定的范围,那么则输出变量本身

2.3 print()结尾换行/结尾空格/结尾啥也没有

print 会自动在行末加上回车, 如果不需回车,只需在 print 语句的结尾添加一个逗号 , 并设置分隔符参数 end,就可以改变它的行为。

(1)以换行结尾(自动):

for i in range(0,3):
    print (i)

输出结果:在这里插入图片描述

(2)以空格结尾

for i in range(0,3):
    print (i, end=" ")

输出结果:在这里插入图片描述

(3)结尾什么都没有,下一次输出完的结果直接在本次输出完的结果后

for i in range(0,3):
    print (i, end="")

输出结果:在这里插入图片描述

可以见得,end=啥,就以啥结尾,默认为换行结尾


未完待续

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值