86. print输出函数知识拓展(有练习题)

news2024/11/23 7:25:32

86. print输出函数知识拓展(有练习题)

文章目录

  • 86. print输出函数知识拓展(有练习题)
    • 1. print函数语法
    • 2. 横着输出数字序列
    • 3. 竖着输出数字序列
    • 4. 循环输出
    • 5. 总结

1. print函数语法

print[prɪnt]:打印,输出。

【功能】

输出程序结果,默认输出到屏幕即程序终端,也可以输出到文件中。

【语法参考】

print(value, ..., sep='', end='\n', file=, flush=False)

【参数说明】

  1. value要输出的值,可以是字符串、整数、浮点数等各种类型的变量等等。

  2. ... 值列表:表示可以一次性打印多个值,值与值之间用英文逗号,分隔,打印出来的值之间默认用空格隔开。

【代码示例】

print(2,4,6,8)

【终端输出】

2 4 6 8

print函数2,4,6,8多个值之间用英文逗号,分隔,终端输出的结果默认用空格隔开。

  1. sep 表示值与值之间的分隔符,默认是一个空格,也可以自己设置成其他的分隔符。

separated[ˈsepəreɪtɪd]:分开的。

【代码示例】

print(2,4,6,8)

【终端输出】

2 4 6 8

在不添加sep参数的情况下,终端输出的结果默认用空格隔开。

【代码示例】

print(2,4,6,8,sep=",")

【终端输出】

2,4,6,8

修改sep参数,输出的对象用逗号,分隔。

【代码示例】

print(2023,5,15,sep="/")

【终端输出】

2023/5/15

修改sep参数,输出的对象用斜杆/分隔。

【代码示例】

print(21,52,10,sep=":")

【终端输出】

21:52:10

修改sep参数,输出的对象用斜杆:分隔。

  1. end 设定输出语句以什么结尾,默认是换行符\n结尾,即输出后会重新起一行,也可设置成其他的分隔符,以实现不换行输出。

\n是转义字符,作用是换行。

【代码示例】

print("安迪Python学习笔记")
print("xyz77520520")

【终端输出】

安迪Python学习笔记
xyz77520520

上述代码中没有end参数,则默认end="\n",即每个print语句执行完毕后都有一个换行。

所以看到的结果是安迪Python学习笔记在第一行,xyz77520520在第二行。

上述代码和下面的代码的含义等同。

【代码示例】

print("安迪Python学习笔记",end="\n")
print("xyz77520520",end="\n")

【终端输出】

安迪Python学习笔记
xyz77520520

【代码示例】

print("安迪Python学习笔记",end="。")
print("xyz77520520",end="。")

【终端输出】

安迪Python学习笔记。xyz77520520。

添加end="。",则每个print输出以句号结尾,大家发现此时没有换行效果了,输出结果在同一行。

【代码示例】

print("安迪Python学习笔记",end="/")
print("xyz77520520",end="/")

【终端输出】

安迪Python学习笔记/xyz77520520/

添加end="/",则每个print输出以/结尾,输出结果有换行效果。

【代码示例】

print("安迪Python学习笔记",end="")
print("xyz77520520",end="")

【终端输出】

安迪Python学习笔记xyz77520520

end=""表示什么都没有,没有换行,也没有任何字符分隔。

添加end="",则多个print输出的结果是拼接在一起的。

  1. file 表示要输出的目标对象,可以是文件也可以是数据流。可以设置file=文件存储对象即文件的路径,把内容保存到该文件中。

上面的输出都是输出到终端,我们添加file参数,可以让实现内容输出到文件中。

【代码示例】

# "目标.txt"是文件的相对路径
# "a+"以读写模式打开文件
# encoding='utf-8'文件的编码格式
f = open("目标.txt","a+",encoding='utf-8')

# 要写入的文件内容
text = "2023年的目标是新增1万个关注者!"

# 将text的内容输出到文件"目标.txt"中
print(text, file=f)
# 关闭文件
f.close

【终端输出】

<function TextIOWrapper.close()>

运行上面的代码,将在程序所在的目录下生成一个名为目标.txt的文件。

该文件的内容为2023年的目标是新增1万个关注者!

注意程序所在的目录即为编辑器打开的文件夹所在的目录。

我vdcode编辑器打开的文件夹为安迪笔记

我现在编写的代码存储位置为安迪笔记\1.基础语法\86\86.py

我创建的文件目标.txt应该在安迪笔记文件夹里,而不在86文件夹里。

相对路径里相对的是编辑器打开的文件目录,而不是当前py文件所在的目录。

如果我们想把文件生成在86文件夹里,可以将代码修改如下:

【绝对路径】

f = open(r"D:\安迪笔记\1.基础语法\86\目标1.txt","a+",encoding='utf-8')

# 要写入的文件内容
text = "2023年的目标是新增1万个关注者!"
# 将text的内容输出到文件"目标.txt"中
print(text, file=f)
# 关闭文件
f.close

【终端输出】

<function TextIOWrapper.close()>

【相对路径】

f = open(r"\安迪笔记\1.基础语法\86\目标2.txt","a+",encoding='utf-8')

# 要写入的文件内容
text = "2023年的目标是新增1万个关注者!"
# 将text的内容输出到文件"目标.txt"中
print(text, file=f)
# 关闭文件
f.close

【终端输出】

<function TextIOWrapper.close()>

相对路径和绝对路径是一个难点,大家一定要加强练习,确保熟练掌握。

否则在后期爬虫、数据分析中会出现代码运行成功,但你找不到你爬取到的结果。

【路径相关知识可参考下面的链接】

67. Python的绝对路径

68. Python的相对路径

  1. flush 表示是否立刻将输出语句输出到目标对象。默认flush = False,表示输出值会保存在缓存中。当flush=True时,输出值强制写入文件。

【温馨提示】

  1. sep, end, file, flush 都必须以命名参数方式传参,否则会被当做需要输出的对象。

【以命名参数传参】

print(2023,5,15,sep="/")

【终端输出】

2023/5/15

【没有参数名会被当做要输出的对象】

print(2023,5,15,"/")

【终端输出】

2023 5 15 /
  1. 如果print函数不传递任何参数,将会输出end参数的默认值,即每个print语句输出一个空行。

【代码示例】

print("程序结束!")

【终端输出】

程序结束!

【代码示例】

print()
print()
print()
print("程序结束!")

上述2段代码的输出效果是不一样的。

第一个段代码的输出没有空行。

第二段代码的输出有3行空行存在。

(pdf里显示不出来区别)

2. 横着输出数字序列

【目标任务】

输入一个正整数n,在一行中输出从1到n,输出的数以英文逗号结尾。

【输入】

3

【输出】

1,2,3,

【方法1】

n = int(input("请输入一个正整数:"))
# 该行代码的作用是检测输入的值,可不加
print("输入的正整数n=",n,sep="")   
for i in range(1, n + 1):
    print(i, end=',')

【终端输出】

输入的正整数n=3
1,2,3,

【思路解析】

依次输出,我们首先应该想到的利用for循环。

1到n的输出,我们通常用range函数实现。

【range函数的语法】

range(开始字符,结束字符,步长)

题目要求从1开始,那么开始字符应该为1

题目要求到n结束,那么结束字符应该为n+1

因为range函数的特征是含前不含后,即会输出1,不会输出n+1

题目要求用逗号分隔,因此print函数中增加一个参数end=","

【有sep=""的输出效果】

n = int(input("请输入一个正整数:"))
# 该行代码的作用是检测输入的值,可不加
print("输入的正整数n=",n,sep="")   

【终端输出】

输入的正整数n=3

【没有有sep=""的输出效果】

n = int(input("请输入一个正整数:"))
# 该行代码的作用是检测输入的值,可不加
print("输入的正整数n=", n)  

【终端输出】

输入的正整数n= 3

【输出区别在于等于号和数字3之间是否空格】

输入的正整数n=3
输入的正整数n= 3

【方法2】

#  用函数实现
def cal(n):
    for i in range(1, n + 1):
        print(i, end=',')

if __name__ == '__main__':
    n = int(input("请输入一个正整数:"))
    cal(n)

【终端输出】

1,2,3,

【代码解析】

def cal(n):

def 自定义函数关键字。

自定义了一个函数cal,参数n。

for i in range(1, n + 1):
    print(i, end=',')

自定义函数的函数体。

函数体要实现的功能是range函数生成一个序列,for循环遍历该序列,依次输出序列中的数,每个数之间用英文逗号结尾。

if __name__ == '__main__':

if条件判断语句,判断是否在主程序中运行,这里可以不加的。

n = int(input("请输入一个正整数:"))

注意input函数得到的是字符串变量,要用int函数将字符串数据转换为整数类型数据。

【函数的调用语法】

函数名(参数)

cal(n)调用我们定义的函数。

3. 竖着输出数字序列

【目标任务】

Python中的字符串可以按单个字符进行索引,第一个字符序号为0,正向递增,编写一个程序,用户输入一个字符串,按每行一个字符的形式进行输出。

【输入】

python

【输出】

p

y

t

h

o

n

s = input("请输入一个字符串:")    # 输入一个字符串
# 该行代码的作用是检测输入的值,可不加
print("输入的字符串s=",s,sep="")   
for i in s:    # 对字符串中的字符进行遍历
    print(i)   # 逐个输出字符,每个字符以换行符结束 

【终端输出】

输入的字符串s=python
p
y
t
h
o
n

4. 循环输出

输入一个整数 n,输出所有小于 n 的非负整数 i 的平方( 0 <= i < n )。

【输入】

4

【输出】

0
1
4
9

【题目分析】

n=4

输出所有小于n的非负整数i,意思就是0 <= i < 4 。

i可以取的值为0,1,2,3。

提取主谓宾,题目最终的要求就是输出i的平方。

【方法1】

n = int(input("请输入一个正整数n:"))     
print("输入的整数n=",n,sep="")   
for i in range(n):      # 将i从0遍历到n
    print(i * i)        # 输出i的平方

【终端输出】

输入的整数n=4
0
1
4
9

【方法2】

square[skweə]:平方,二次幂。

#  用函数实现
def squar(n):
    for i in range(n):
        print(i * i)

if __name__ == '__main__':
    n = int(input("请输入一个正整数:")) 
    print("输入的整数n=",n,sep="")   
    squar(n)

【终端输出】

输入的整数n=4
0
1
4
9

5. 总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

少儿编程scratch -- 基础篇

1.开篇 花费40分钟 首先&#xff0c;我们学的是scratch(划痕&#xff09;&#xff0c;Scratch 是麻省理工学院的“终身幼儿园团队”在 2007 年 [5] 发布的一种图形化编程工具&#xff0c;主要面对全球青少年开放&#xff0c;是图形化编程工具当中最广为人知的一种&…

ShardingSphere-JDBC整合SpringBoot JPA读写分离失败

问题 最近在整合ShardingSphere JDBC和Spring Boot的时候遇到一个问题,当ORM框架使用JPA时,读写分离会失效,查询仍然走主库并不会走从库!同样的配置使用Mybatis就没有任何问题。 在查阅各种资料后,初步确定未JPA事务问题 ShardingSphere负载均衡算法 我当前使用的版本是…

FIDO认证 无密码的愿景

目录 1、简介 2、关于FIDO联盟 3、FIDO如何工作 3.1 FIDO 注册 3.2 FIDO登录 4、FIDO2 4.1 W3C WebAuthn 4.2 CTAP2 4.3 CTAP1 4.4 FIDO UAF 4.5 FIDO U2F 5、FIDO身份验证的优势 5.1 安全 5.2 便利性 5.3 隐私政策 5.4 可扩展性 1、简介 FIDO&#xff08;在线…

Python 爬虫(一):爬虫伪装

1 简介 对于一些有一定规模或盈利性质比较强的网站&#xff0c;几乎都会做一些防爬措施&#xff0c;防爬措施一般来说有两种&#xff1a;一种是做身份验证&#xff0c;直接把虫子挡在了门口&#xff0c;另一种是在网站设置各种反爬机制&#xff0c;让虫子知难而返。 2 伪装策…

【2023 · CANN训练营第一季】初识新一代开发者套件 Atlas 200I DK A2 第二章——安装Atlas 200I DK A2跑通第一个案例

准备相关软件 包括一台PC机&#xff08;空间大于10g)&#xff0c;读卡器&#xff0c;32gsd卡&#xff0c;一根网线。 具体步骤&#xff1a; 开始烧录开发板镜像&#xff1a;将sd卡插入读卡器&#xff0c;将读卡器插入PC机的USB接口&#xff0c;根据相关链接在PC机下载制卡工具…

混合云到底是什么?

大型企业不能再仅仅拥有本地系统就可以逃脱&#xff1b;因此&#xff0c;将一些数字化运营迁移到云端成为了必要。 第一步涉及选择是使用公共云还是私有云&#xff0c;或者两者都使用。使用两者是混合云。 但混合云到底是什么&#xff1f;在回答之前&#xff0c;让我们看看这…

图生图—AI图片生成Stable Diffusion参数及使用方式详细介绍

本文为博主原创文章&#xff0c;未经博主允许不得转载。 本文为专栏《Python从零开始进行AIGC大模型训练与推理》系列文章&#xff0c;地址为“https://blog.csdn.net/suiyingy/article/details/130169592”。 Stable Diffusion webui的详细安装步骤以及文生图&#xff08;txt2…

【Linux】Linux入门学习之常用命令四

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

Jenkins教程-Docker安装Jenkins,并构建任务等

本文主要介绍如何在docker中安装Jenkins&#xff0c;启动容器后&#xff0c;如何使用Jenkins构建自己的项目&#xff0c;创建任务等 文章目录 前言Docker安装Jenkins访问Jenkins并配置Jenkins构建项目创建任务源码管理构建触发器BuildPost Steps 设置手工触发构建 前言 参考链…

Redis集群安全加固

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/130692909 一、为Redis启用密码验证 默认情况下&#xff0c;Redis不执行任何密码身份验证。能够通过IP端口连接Redis的客户端均可以直接访问Redis中的数据。在启动Redis服务时&#xff0c;通过设置req…

玩转自动化操作神器n8n之(1)n8n的简介与安装

文章目录 1. 简介 2. 安装2.1. 使用npx进行安装2.2. 使用docker进行安装 2.3. 设置端口&#xff08;可选&#xff09; 3. 登录4. 搜索工作流 1. 简介 n8n是一款强大的工作流程自动化工具&#xff0c;可以自定义想要使用的功能和应用程序。n8n基于节点能够将任何工具连接在一起…

使用插件快速生成代码

使用插件快速生成代码 咋们常说&#xff0c;授人以鱼不如授人以渔&#xff0c;在这里给大家提供一些技巧性的东西&#xff0c;方便一些新手同学可以快速上手&#xff0c;同时&#xff0c;也提高我们的开发兴趣与开发热情&#xff01; 主要讲什么呢&#xff0c;我们来学一学如何…

低代码信创开发核心技术(二):手撕灵活好用的Vue拖拉拽布局系统

前言 随着信息化时代的到来&#xff0c;软件已经成为企业和个人不可或缺的工具。然而&#xff0c;许多人在开发软件时遇到了各种问题&#xff0c;比如开发周期长、技术门槛高、成本高昂等等。为了解决这些问题&#xff0c;低代码平台应运而生。低代码平台是一种快速开发工具&a…

Golang每日一练(leetDay0067) 第十行、打家劫舍I

目录 195. 第十行 Tenth Line &#x1f31f; 198. 打家劫舍 I House Robber &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 195. 第十行 Tenth Line 给定一…

PySide6/PyQT多线程之 异常情况和优先级指南

前言 在PySide6/PyQT 中使用多线程时&#xff0c;线程的优先级和异常情况处理同样是重要的概念。 本文纯理论知识&#xff0c;无实操。换句话说&#xff0c;就是水文~~ 尽管在一般情况下我们不需要过多关注线程的优先级&#xff0c;但了解它的概念对于特定场景下的多线程编程仍…

Java每日一练(20230516) 最小栈、组合总和II、相同的树

目录 1. 最小栈 &#x1f31f; 2. 组合总和 II &#x1f31f;&#x1f31f; 3. 相同的树 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 最小栈 设计一个支持 push…

[入门必看]数据结构5.4:树、森林

[入门必看]数据结构5.4&#xff1a;树、森林 第五章 树与二叉树5.4 树、森林知识总览5.4.1 树的存储结构5.4.2 树、森林与二叉树的转化5.4.3 树和森林的遍历 5.4.1 树的存储结构树的逻辑结构回顾&#xff1a;二叉树的顺序存储如何实现树的顺序存储&#xff1f;树的存储1&#x…

【连续介质力学】张量的范数、各向同性和各向异性张量、同轴张量和极分解

张量的范数 张量的大小&#xff0c;使用Frobenius 范数&#xff1a; ∣ ∣ v ⃗ ∣ ∣ v ⃗ ⋅ v ⃗ v i v i &#xff08;向量&#xff09; ||\vec v|| \sqrt{\vec v \cdot \vec v} \sqrt{v_iv_i} &#xff08;向量&#xff09; ∣∣v ∣∣v ⋅v ​vi​vi​ ​&#xff…

okhttp篇2:Dispatcher

Dispatchers维护着一个线程池&#xff0c;3个双端队列&#xff0c;准备执行的AsynCall&#xff0c;正在执行的AsynCall&#xff0c;正在执行的同步Call&#xff08;RealCall&#xff09;。 同时规定每个Host最多同时请求5个Request&#xff0c;同时可最多执行64个Request。 p…

玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest

一、前言 本篇将介绍一些gtest的基本使用&#xff0c;包括下载&#xff0c;安装&#xff0c;编译&#xff0c;建立我们第一个测试Demo工程&#xff0c;以及编写一个最简单的测试案例。 二、下载 如果不记得网址&#xff0c; 直接在google里搜gtest&#xff0c;第一个就是。目…