Python 您所在的位置:网站首页 python输出输入的数 Python

Python

2024-06-20 04:26| 来源: 网络整理| 查看: 265

输入Input

使用** = input()**

print("请输入你的名字:") name = input() print(name) print("请输入一个数字") num = input() print(num) 请输入你的名字: 稻米哟 稻米哟 请输入一个数字 2 2 Process finished with exit code 0

上述语句可以进行简化 = input(“”)

name = input("请输入你的名字") print(name) num = input("请输入一个数字")

我们可以通过**type( )**进行查询变量的类型,如

print(type(name))

可以得到‘name’是一个字符串类型的变量 那么‘num’是字符串还是整型呢?

请输入你的名字稻米哟 稻米哟 请输入一个数字 2 2

可以看到num也是一个字符串类型,即无论用户输入的是字符串还是变量,input()函数同意按照字符串形式输出 如果我们希望得到一个数字,可以通过类型转换得到,如 int() float()

num = int(input("请输入一个数字")) print(type(num)) num = float(input()) print(type(num)) 请输入一个数字 200 12

有时候,我们也会使用**eval()**函数将输入的字符串转变为Python语句,如:

print("请输入一个数字") num = input() print(type(eval(num))) 请输入一个数字 5

也可以将字符串中特定位置转换为数字

s = input() print(eval(s[0:3])) print(type(eval(s[0:3]))) 102℃ 102 获得多个输入

.split() 是字符串方法,用于将字符串按照默认的分隔符(空格)或指定的分隔符拆分成多个部分,并返回字符串部分的列表。

a, b, c = map(int,input().split(' ')) 获得一行数据存入一个数据容器

实际应用中,经常会出现将用户输入的一行不同数据存入某一个数据容器,此时我们可以使用** = input(“”).split(“”)**

如,用户输入一行以空格为分割数字

num = input("请输入你的生日").split(" ") print(num) 请输入你的生日2015 08 17 ['2015', '08', '17']

用户输入一行**以,**为分割数字

num = input("请输入你的生日").split(",") print(num) 请输入你的生日wome,54,零零 ['wome', '54', '零零']

很显然获得了一个字符串列表,我们是否可以用上面的知识将它转换为数字?我们来尝试一下

num = int(input("请输入你的生日").split(" ")) print(num) num = int(input("请输入你的生日").split(" ")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: int() argument must be a string, a bytes-like object or a real number, not 'list'

很显然不行,因为int()函数要求待转换的内容必须是字符串,字符串对象,数字,而不是一个列表。我们只能寻求其他方法——map()

map()函数

map()作用是将一个函数应用于一个可迭代对象(例如列表、元组等)的每个元素,并返回一个包含应用函数后结果的新的可迭代对象(通常是一个列表),提供了一种方便的方式来对可迭代对象中的每个元素进行同一操作,并返回处理后的结果。

语法如下: map(function, iterable) function:要应用于可迭代对象的函数。可以是内置函数、自定义函数或 lambda 函数。 iterable:可迭代对象,如列表、元组等。

我们将该函数应用于上述代码:

num = map(int, input("请输入你的生日").split(" ")) print(num) 请输入你的生日2015 08 17

返回结果却不是我们希望的那般,这是因为需要注意的是,map() 函数会返回一个迭代器对象,所以我们需要使用 list() 函数将其转换为列表类型,方便打印和操作。 我们可以将其转换为列表list()之后在进行打印。

num = list(map(int, input("请输入你的生日").split(" "))) print(num) 请输入你的生日2015 08 17 [2015, 8, 17] 将一行输入拆分多个部分存入不同的数据容器

如我们获得一行学生姓名和学科成绩的输入,将它存入姓名列表和成绩列表中

name, *line = input().split() scores = list(map(int, line)) print(name) print(scores) 张三 87 89 98 张三 [87, 89, 98]

注: *line 是一个特殊的语法,用于将剩余部分作为列表存储在 line 变量中。 表示可变数量的位置参数,它将多个元素打包成一个元组或列表,这里它将拆分后的字符串的剩余部分作为一个列表存储在 line 中。

输出Output 直接输出具体内容

print(具体内容)

print(1) print(True) print("好的") print(2+3) print("长白轮转"+"十五秋") 1 True 好的 5 长白轮转十五秋 直接输出变量

输出一个变量 print()

n = 3 print(n) name = '张三' print(name) list1 = {0, 'a', 8, '张三'} print(list1)

输出多个变量 print(,,…)

print(n, name, list1) 3 张三 {0, 'a', '张三', 8} name = "吴邪" address = "河坊街西泠印社边上的吴山居" print("我叫" + name + ",家住在" + address) 我叫吴邪,家住在河坊街西泠印社边上的吴山居 输出不变行

默认的print语句输出内容会自动变行 我们可以采用 print(语句, end=’ ')

print('张三') print('李四') print('张三', end=' ') print('李四', end=' ') 张三 李四 张三 李四 格式化输出

字符串格式化 在这里插入图片描述 多个变量占位,变量须用括号括起来(括号前加上%),并按占位的顺序填入

subject = "AI" class_num = 57 avg_salary = 25641.25 message = "%s火爆学科,北京%d期,毕业平均工资%f" %(subject,class_num,avg_salary ) print(message) AI火爆学科,北京57期,毕业平均工资25641.250000

精度控制 通过m.n控制数据的宽度和精度 m:控制宽度,要求是数字,设置宽度应该大于数字本身(补空格) n:控制小数点精度,要求是数字,对小数进行四舍五入 eg: %5.2f %5d(不限制精度) %.2f(不限制宽度)

message = "%s火爆学科,北京%d期,毕业平均工资%.2f" %(subject, class_num, avg_salary) print(message) AI火爆学科,北京57期,毕业平均工资25641.25 快速格式化方法

不限数据类型,不做精度控制

formate()

formatted_string = "Text with {} placeholders".format(value1, value2, ...)

在这个基本语法中,{}是占位符,可以用来接收要填充的值。format()方法的参数会按照顺序依次填充到占位符中。

name = "Alice" age = 25 message = "My name is {} and I'm {} years old.".format(name, age) print(message) #输出:My name is Alice and I'm 25 years old. #可以指定要填充的占位符的位置```python name = "Alice" age = 25 message = "Hi, {1}! I heard you're {0} years old.".format(age, name) print(message) #输出:Hi, Alice! I heard you're 25 years old.

f "内容{变量} "

name = "吴邪" address = "河坊街西泠印社边上的吴山居" num = "0817" print(f"我叫{name},家住在{address},门牌号是{num}") print("1*1 的结果是:%d" % (1*1)) print(f"1*1 的结果是:{1*1}") print("字符串在Python中的类型名是:%s" % type("字符"))

码字不易,给个👍~我们下一篇博客见!

才疏学浅,个人理解难免有错,欢迎指正。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有