python sys.stdin.readable_python 笔试输入:sys.stdin.readline和input

①:输入一行数据并输

出两种方法

# 输入一行数据并输出

import sys

# 方法一:

str1 = input()

print('input 输入:',str1,'len=',len(str1))

print('循环遍历输入得到输入的每个字符的ascii码如下:')

for i in str1:

print(ord(i))

# 方法二:

str2 = sys.stdin.readline()

print('sys.stdin().readline() 输入:',str2,'len=',len(str2))

print('循环遍历输入得到输入的每个字符的ascii码如下:')

for i in str2:

print(ord(i))

print('换行的ascii码是',ord('\n'))

测试代码结果:

6f14ca3290ee?from=singlemessage

输入一行数据并输出

下面的代码也可以说明sys.stdin.readline和input 两者的区别

import sys

c = [x for x in sys.stdin.readline()]

print(c)

d = [x for x in input()]

print(d)

6f14ca3290ee?from=singlemessage

image.png

①结论

如果上面代码想要固定输入数字 只需将input() 和sys.stdin.readline() 加上int()的限制

可知上面两种方式的输入,sys.stdin.readline()方法会获取每行数据的最后的换行符

②:输入一行数据 以空格分隔 返回list

print('input 输入:')

list1 = [x for x in input().split()]

print(list1)

print('sys.stdin.readline() 输入:')

import sys

list2 = [x for x in sys.stdin.readline().split()]

print(list2)

结果

6f14ca3290ee?from=singlemessage

输入一行数据 以空格分隔 返回list

②:指定行数 输入多行数据 返回二维list

print('请输入数据的行数N:')

N = int(input())

print('N=',N)

print('input 输入:')

list1 = [[x for x in input().split()] for y in range(N)]

print(list1)

print('sys.stdin.readline() 输入:')

import sys

list2 = [[x for x in sys.stdin.readline().split()] for y in range(N)]

print(list2)

6f14ca3290ee?from=singlemessage

image.png

下面的代码是输出list里面的数据是整数

print('请输入数据的行数N:')

N = int(input())

print('N=',N)

print('input 输入:')

list1 = [[int(x) for x in input().split()] for y in range(N)]

print(list1)

print('sys.stdin.readline() 输入:')

import sys

list2 = [[int(x) for x in sys.stdin.readline().split()] for y in range(N)]

print(list2)

6f14ca3290ee?from=singlemessage

image.png

③:不指定行数 输入多行数据 返回二维list

不指定输入的行数,但是必须以最后下一行只输入空格或者什么都不输入为结束

import sys

try:

ssn = []

while True:

sn = sys.stdin.readline().strip()

#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。

if sn == '':

break

sn = list(sn.split())

ssn.append(sn)

print(ssn)

except:

pass

结果:

6f14ca3290ee?from=singlemessage

image.png

import sys

try:

ssn = []

while True:

sn = input().strip()

# sn = sys.stdin.readline().strip()

#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。

if sn == '':

break

sn = list(sn.split())

ssn.append(sn)

print(ssn)

except:

pass

结果:

6f14ca3290ee?from=singlemessage

image.png

④:不指定行数 但是每输入一行就处理一行 持续等待输入

import sys

try:

while True:

sn = input().strip()

# sn = sys.stdin.readline().strip()

#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。

if sn == '':

break

sn = list(sn.split())

print('此行输入为:',sn)

except:

pass

结果:

6f14ca3290ee?from=singlemessage

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值