Python从键盘获取输入

之前做测试笔试的时候有很长一段时间不清楚怎么从键盘获取多个值的输入,终于一时兴起将各种情况下获取输入数值的方法进行了归纳,希望对刚好看到的您有帮助。

需要注意:input()返回的是字符串类型,因此读取数字时需要进行类型转换

b = int(input("请输入b:"))
print(type(b),b)

运行结果:

请输入b:2

需要注意:str.split()方法返回的是列表类型

运行结果:

这里相当于字符串”1 2″经过split()方法,用” “(空格)分割后返回的是列表[‘1’, ‘2’]。其中m=1、n=2

请输入m和n:1 2
m和n的值分别为1,2,它们是字符串类型

方法1:利用map(fun,seq)函数。下面的int可以用其他类型如float替代

m, n = map(int, input("请输入m和n:").split(" "))
print("m和n的值分别为{0},{1},它们是int整数类型".format(m,n))

运行结果:

请输入m和n:1 2
m和n的值分别为1,2,它们是int 整数类型

方法2:直接利用列表推导式。下面的int可以用其他类型如float替代

m, n =[int(x) for x in input("请输入m和n:").split(" ")]
print("m和n的值分别为{0},{1},它们是int整数类型".format(m,n))

运行结果:

请输入m和n:1 2
m和n的值分别为1,2,它们是int整数类型

方法1: 结果为str类型

list = input("请输入:").split()
print(type(list), list)  # ['1', '2', '3']
for i in list:
    print(type(i), i)

运行结果:

请输入:1 2 3

如果需要的输入为其他形式,应当在遍历的同时进行类型转换 。

方法2:结果为int类型

a = list(map(int,input("请输入:").split()))
print(type(a), a)
for i in a:
    print(type(i), i)

运行结果:

请输入:1 2 3

(1) 需要的输入为字符串形 式

text = ''
lines = int(input("输入行数:"))
for i in range(lines):
    text += input()
print(text) #接收的输入为字符串形式

运行结果:

输入行数:2
123
456
123456

(2) 如果 需要的输入为列表 形式,则可以在这个字符串基础上将这个没有逗号或空格的字符拆分:

a = list(text)
print(a)  #接收的输入为列表形式

此时结果为:

[‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]

(3)如果 需要的输入为数字 形式,则可以继续将这个列表转换为数字:

将列表中的元素转换成数字的几种方法:

方法1:使用join 的方法

a = ['1', '2', '3']
b = ' '.join(a)
print(b)

输出:1 2 3

方法2:使用列表生成式进行转换

a = ['1', '2', '3']
b = [int(x) for x in a]    #此时b的结果为[1, 2, 3]
for i in b:
    print(i,end=" ")

输出:1 2 3

Original: https://blog.csdn.net/TiAmo_xixi/article/details/126838035
Author: ~TiAmo~
Title: Python从键盘获取输入

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/729637/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球