编辑:谢谢你们的帮助,但我很难将它应用到我的实际问题中。我试图大致了解如何对我所指派的问题进行类似的问题,但我无法弄明白。
所以,我的函数将采用两个参数,两个参数都是数字。如果第一个参数等于0,我必须将它设置为第二个参数中出现的第一个数字。
如果
num_call(0,23)
我必须返回2。
有关如何执行此操作的任何提示?或者你们一直在描述工作的方式?
非常感谢
答案 0 :(得分:3)
您可以按位置/索引访问字符串的各个字符(请注意它们 0-indexed ):
>>> s = "Charger"
>>> s[2]
'a'
如果不是字符串而是数字,可以将其转换为字符串,然后使用相同的技术:
>>> i = 1234
>>> str(i)[2]
'3'
答案 1 :(得分:1)
要回答您的意见(功能,单词和数字),请查看以下代码:
def print_third_character(string):
print str(string)[2]
print_third_character("Charger")
>>> a
print_third_character(1145)
>>> 4
答案 2 :(得分:1)
我更喜欢这样的东西
def return_third_character(string):
ts = str(string)
if len(ts) >= 3:
return ts[2]
答案 3 :(得分: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