Argv - 字符串转换为整数 [英] Argv - String into Integer

查看:35
本文介绍了Argv - 字符串转换为整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对 python 还很陌生,我一直在玩 argv.我在这里编写了这个简单的程序并收到一个错误消息:

I'm pretty new at python and I've been playing with argv. I wrote this simple program here and getting an error that says :

类型错误:%d 格式:需要一个数字,而不是 str

TypeError: %d format: a number is required, not str

from sys import argv

file_name, num1, num2 = argv
int(argv[1])
int(argv[2])
def addfunc(num1, num2):
    print "This function adds %d and %d" % (num1, num2)
    return num1 + num2

addsum = addfunc(num1, num2)
print "The final sum of addfunc is: " + str(addsum)

当我运行 filename.py 2 2 时,argv 是否将 2 2 放入字符串中?如果是这样,我如何将这些转换为整数?

When I run filename.py 2 2, does argv put 2 2 into strings? If so, how do I convert these into integers?

感谢您的帮助.

推荐答案

sys.argv 确实是一个字符串列表.使用 int() 函数将字符串转换为数字,前提是该字符串可以被转换.

sys.argv is indeed a list of strings. Use the int() function to turn a string to a number, provided the string can be converted.

您需要分配结果,但是:

num1 = int(argv[1])
num2 = int(argv[2])

或者简单地使用:

num1, num2 = int(num1), int(num2)

您确实调用了 int() 但忽略了返回值.

You did call int() but ignored the return value.

这篇关于Argv - 字符串转换为整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆