编辑:谢谢你们的帮助,但我无法将它应用于我的实际问题。我试图大致了解如何解决与分配给我的问题类似的问题,但我无法弄清楚。
因此,我的函数将采用两个参数,这两个参数都是数字。如果第一个参数等于 0,我必须将其设置为第二个参数中出现的第一个数字。
就像如果
电话号码(0, 23)
我将不得不返回一个 2。
关于如何做到这一点的任何提示?还是你们描述工作的方式?
非常感谢
编辑:谢谢你们的帮助,但我无法将它应用于我的实际问题。我试图大致了解如何解决与分配给我的问题类似的问题,但我无法弄清楚。
因此,我的函数将采用两个参数,这两个参数都是数字。如果第一个参数等于 0,我必须将其设置为第二个参数中出现的第一个数字。
就像如果
电话号码(0, 23)
我将不得不返回一个 2。
关于如何做到这一点的任何提示?还是你们描述工作的方式?
非常感谢
您可以通过它们的位置/索引访问字符串的各个字符(注意它们是0-indexed):
>>> s = "Charger"
>>> s[2]
'a'
如果您有一个数字而不是字符串,则可以将其转换为字符串,然后使用相同的技术:
>>> i = 1234
>>> str(i)[2]
'3'
要回答您的评论(功能、单词和数字),请查看以下代码:
def print_third_character(string):
print str(string)[2]
print_third_character("Charger")
>>> a
print_third_character(1145)
>>> 4
我更喜欢这样的东西
def return_third_character(string):
ts = str(string)
if len(ts) >= 3:
return ts[2]
回答您编辑的问题。
如果您的函数调用是 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