如何在python中统计stdin的用户输入数

2024-06-06 13:31:42 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,如果这看起来像家庭作业,我很抱歉,但我一直在努力,但失败了,我真的很感谢专家的帮助。我试着自学Python。在

我试图解决CodinGame中的问题,第一个问题是希望您计算输入字符串被传递到程序的次数。输入字符串分为两部分(例如“Sina dumb”)。我试着用这个:

count = int(sys.stdin.readline())
count = int(input())
count = int(raw_input()) #python2

但程序失败的原因是:

^{pr2}$

取决于我是否把换行符留在里面。 请问我做错了什么,我怎样才能让它更好?在


Tags: 字符串程序inputreadlinecountstdinsys次数
3条回答

python 3.x中的input()python 2.x中的raw_input()给出一个字符串。如果一个字符串只包含数字,它将给出一个ValueError。在

您可以尝试正则表达式:

import re
line = input()
count = len(re.findall(r'\w+', line))
print (count)

一方面,在本例中,python说您试图将字符串'Sina dumb\n转换为无效的整数,这是真的。这可能在第二行触发,int(input)

另一方面,为了解决您的问题,一个简单的方法是作为输入传递的每一行都包含行尾字符\n,例如,您可以获得输入内容,并将其拆分为\n个字符,并计算结果列表的大小。在

python2.xpython 3.x

sys.stdin.readline()和{}给出type str。因此,如果string包含{},那么{}将产生错误。在

我想你需要这个(假设)

import sys
input_var = input() # or raw_input() for python 2.x

# entering Sina dumb 
>>>print(len(input_var.split()))
2

更新

如果你想数一数你有多少进去。试试这个

^{pr2}$

相关问题 更多 >