【Python的输入和输出】从入门到精通(放弃)

欢迎各位旅行者,这篇要细致的讲讲Python的输入和输出😊

一,输入

1.input()输入函数

单纯的input()不加任何修饰的话,你输入了什么都是字符串的类型(字母、数字、标点符号或其他特殊字符的组合,不能进行数字运算等其他操作)同时你的输出也一样是字符串的类型。因为input函数是让用户输入的可以加一些提示:

(1)int,float,str修饰input

可以用int(整数),float(小数),str(字符串)函数来进行修饰input(就是将输入的字符串转换为其他形式)。例子如下:

注意!!!要是int函数你输入了除数字意外的东西,则会报错。float同理。

通过转换形式之后,就可以对输入数据进行正确操作了。

(2)input函数+split函数

如果我们有个特殊要求,就是一次性输入几个数据,并且在输入的时候每个数据以空格为分隔,这该怎么办呢???————查米游社吧!!!(开玩笑的)

为解决这个问题我们就要用到split函数了。

split基本语法:

str.split(separator, maxsplit)
  • separator 是用于指定分隔符的字符串,如果不指定,默认情况下会使用空格作为分隔符。
  • maxsplit 是一个可选参数,用于指定最大分割次数,即最多分割出几个子字符串。如果不指定或为负数,则会分割所有可能的子字符串。

那么将split函数+input函数会出现什么色彩呢?请看下面:

通过以上方式可以完成目标(一次性输入几个数据,并且在输入的时候每个数据以空格为分隔)

其中split函数()中默认是以空格为分割,要是想以逗号为分割可以这么写。如下

还有别的形式吗?自己试试吧。

(3)input函数+split函数+map函数+其他修饰函数

map函数是什么?八级萌新可能会说:

map() 函数是 Python 中的一个内置函数,它用于对可迭代对象(如列表、元组等)中的每个元素应用一个指定的函数,然后返回一个包含所有函数返回值的迭代器。map() 函数的基本语法如下:

map(function, iterable)
  • function 是要应用于每个元素的函数。
  • iterable 是一个或多个可迭代对象,如列表、元组等

我知道刚来到提瓦特大陆的你们看到这个就像看到圣遗物一样懵,给个例子来讲讲吧。

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

这段代码的意思是:用户将会输入两个数,它们分别以空格为分隔,每个数据都会进行int来修饰(这就是map的用法)就是迭代输入可以迭代的数据,并且用上文提到的function(函数)应用于每个函数。

通过input函数+split函数+map函数+其他修饰函数就可以实现输入多个数据以什么格式分隔,并且转换每个数据的数据类型。

(4)差点忘掉的eval函数🤣

eval函数可以去除字符串的双引号和单引号,也就是说如果一个数字在里面的类型是字符串,用了eval函数去除左右引号或者双引号后,它就成为了它自己(数字成为真的数字,但是符号和字母不行它必须是字符串形式,否则去除后会报错。)

(5)其他常用更加高级的输入

这里仅提供一些例子,大家可以自己试试。

1. 多行输入:
使用循环逐行读取输入:
lines = []
while True:
    line = input()
    if not line:
        break
    lines.append(line)
2.使用列表推导式简化多行输入:
lines = [input() for _ in range(n)]

二,输出

1.print函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • objects:要打印的对象,可以是字符串、变量、表达式等。
  • sep:用于分隔多个对象之间的字符串,默认是空格。
  • end:用于在打印内容结尾添加的字符串,默认是换行符 \n

print函数可以输出数字,字母(字符串类型),符号(字符串类型)

sep和end用法。

sep 和 end还有些更加特殊的用法,本文不做介绍,喜欢探索的旅行者们可以开始森林书之旅啦。

2. % 的方法控制输出形式

# 使用 % 运算符格式化字符串
name = "Alice"
age = 30
print("Hello, %s! You are %d years old." % (name, age))

在上面的例子中,%s 表示字符串格式,%d 表示整数格式。在 print 语句中,% 后面的元组中的变量会按顺序替换对应的格式化字符串。

另外,还有其他格式化字符可以使用,例如:

  • %s:字符串
  • %d:十进制整数
  • %f:浮点数 其中 %.nf表示为保留n位小数
  • %x:十六进制整数
  • %o:八进制整数
  • %r:使用 repr() 函数进行字符串转换

3.format的方法控制输出形式

由于方法太杂,种类太多,这里就引用一位写的全的大佬的博客文章http://t.csdnimg.cn/YrN6v作者是在下周周ovo-CSDN博客

4. f-string 的语法

name = "Alice"
age = 30
print(f"Hello, {name}! You are {age} years old.")

在上面的示例中,f"Hello, {name}! You are {age} years old." 是一个 f-string。在这个字符串中,{name} 和 {age} 是表达式,会被替换为相应的变量的值。f-string 可以包含任何有效的 Python 表达式,并且可以在大括号 {} 中使用变量、函数调用等。

例子如下:

1. 表达式计算:
        x = 10
        y = 20
        print(f"The sum of {x} and {y} is {x + y}.")
2. 调用方法:
        name = "Alice"
        print(f"Hello, {name.upper()}!")  # 调用字符串方法
3. 格式化数字:
        pi = 3.14159
        print(f"The value of pi is {pi:.2f}.")  # 保留两位小数
4. 使用字典:
        person = {"name": "Bob", "age": 25}
        print(f"Name: {person['name']}, Age: {person['age']}")
5. 多行字符串:
        message = (
             f"Hello, {name}!\n"
             f"Welcome to the program.\n"
            f"Enjoy your stay!"
        )
        print(message)
6. 嵌套表达式:
        x = 10
        y = 20
        print(f"The result is {x + y if x > 5 else x - y}")

三,sys库

sys的库中有两个函数sys.stdin.readline()和sys.stdout.write()他们可以实现输入和输出,本文不做讲解,感兴趣的旅行者们可以研究一下。

以上是我对于输入和输出的认识,如有不全,希望指出改正。感谢各位旅行者们的阅读。

祝大家十连双金!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值