-1

编辑:谢谢你们的帮助,但我无法将它应用于我的实际问题。我试图大致了解如何解决与分配给我的问题类似的问题,但我无法弄清楚。

因此,我的函数将采用两个参数,这两个参数都是数字。如果第一个参数等于 0,我必须将其设置为第二个参数中出现的第一个数字。

就像如果

电话号码(0, 23)

我将不得不返回一个 2。

关于如何做到这一点的任何提示?还是你们描述工作的方式?

非常感谢

4

4 回答 4

3

您可以通过它们的位置/索引访问字符串的各个字符(注意它们是0-indexed):

>>> s = "Charger"
>>> s[2]
'a'

如果您有一个数字而不是字符串,则可以将其转换为字符串,然后使用相同的技术:

>>> i = 1234
>>> str(i)[2]
'3'
于 2012-08-30T01:21:17.743 回答
1

要回答您的评论(功能、单词和数字),请查看以下代码:

def print_third_character(string):
    print str(string)[2]

print_third_character("Charger")
>>> a
print_third_character(1145)
>>> 4
于 2012-08-30T01:43:51.173 回答
1

我更喜欢这样的东西

def return_third_character(string):
    ts = str(string)
    if len(ts) >= 3:
        return ts[2]
于 2012-08-30T09:14:52.520 回答
0

回答您编辑的问题。

如果您的函数调用是 num_call(0, 23) 并且您想使用 num_call(2, 3) 调用它,请使用以下代码:

def num_call(first_parameter, second_parameter):
    if first_parameter == 0:
        num_call(int(str(second_parameter)[0]), int(str(second_parameter)[1:]))

如果您只想返回第二个参数,如果第一个参数为 0,请使用此代码(请注意,如果 first_argument 不为 0,它将返回第一个参数):

def num_call(first_parameter, second_parameter):
    if first_parameter == 0:
        return int(str(second_parameter)[0])
    else:
        return first_parameter
于 2012-08-30T23:17:25.413 回答