[英]How to read user input in Python
我是Python的初学者,我试图在一个简单的编程竞赛问题中读取两个数字。
# Codeforces New Year 2013 Contest;
# http://codeforces.com/contest/379/problem/A
import sys;
def main ():
a = input ();
b = input ();
resto = 0;
result = 0;
while (a > 0):
a-=1
result += 1;
resto += 1;
if (resto >= b):
resto -= b;
a += 1;
print result;
main ();
如果我尝试用4 2运行程序(用空格分隔),我会收到以下错误:
ValueError:int()的基数为10的无效文字:'4 2'
但如果我输入4 [enter]然后输入2 [enter],程序运行没有任何问题。
我如何像C ++一样从python中读取stdin?
编辑:抱歉这个烂摊子! 我通常以这种方式输入代码:
C ++:。/ main <test
Python:python main.py <test
根据您的语法,我假设您使用的是python 2。
使用raw_input
从控制台读取字符串,然后在解析整数之前手动拆分它:
s = raw_input()
tokens = s.split()
a = int(tokens[0])
b = int(tokens[1])
您可以使用与许多其他编程语言类似的sys.argv:
import sys
for a in sys.argv:
print a
如果从命令行调用此程序,如下所示:
python test.py 10 20 30 40 50
然后它将打印:
test.py
10
20
30
40
50
所以你可以使用索引访问你的参数:
print sys.argv[2] #prints 20
请记住,虽然sys.argv包含字符串 - 所以如果你想像整数一样处理输入,请记得首先像这样抛出它们:
int(sys.argv[2])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.