Python | 您所在的位置:网站首页 › python输出输入的数 › Python |
输入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=' ') 张三 李四 张三 李四 格式化输出字符串格式化 精度控制 通过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 实验室设备网 版权所有 |