Python 用数字乘以字符串
所以我有一个程序,它接受一个参数,一个整数num。它应该返回一个数字,这个数字重复num的数字3次。如果参数不是整数,则函数应返回None 例如: 对于输入参数“hello!”,它应该返回None,因为输入参数是字符串 对于输入参数“23”,它应该返回None,因为输入参数是字符串 对于输入参数12.34,它应该返回None,因为输入参数是浮点 对于输入参数1,它应该返回111或参数241,它应该返回241 我不知道我做错了什么,任何帮助都将不胜感激Python 用数字乘以字符串,python,Python,所以我有一个程序,它接受一个参数,一个整数num。它应该返回一个数字,这个数字重复num的数字3次。如果参数不是整数,则函数应返回None 例如: 对于输入参数“hello!”,它应该返回None,因为输入参数是字符串 对于输入参数“23”,它应该返回None,因为输入参数是字符串 对于输入参数12.34,它应该返回None,因为输入参数是浮点 对于输入参数1,它应该返回111或参数241,它应该返回241 我不知道我做错了什么,任何帮助都将不胜感激 def repeat_number(num)
def repeat_number(num):
if num is type(str) and type(float):
return None
else:
return str(num) * 3
你很接近。这里有两个不同的问题 首先,您真的不必键入check(duck-typing),但如果必须这样做,请正确执行:
if not isinstance(num, int):
return None
如果参数不是整数,则返回None
。至于实际重复数字,只需将字符串转换回数字:
return int(str(num) * 3)
完整代码:
def repeat_number(num):
if not isinstance(num, int):
return None
else:
return int(str(num) * 3)
你很接近。这里有两个不同的问题 首先,您真的不必键入check(duck-typing),但如果必须这样做,请正确执行:
if not isinstance(num, int):
return None
如果参数不是整数,则返回None
。至于实际重复数字,只需将字符串转换回数字:
return int(str(num) * 3)
完整代码:
def repeat_number(num):
if not isinstance(num, int):
return None
else:
return int(str(num) * 3)
要检查变量的类型,应使用
isinstance
def repeat_number(num):
if isinstance(num, int):
return int(str(num) * 3)
else:
return None
>>> repeat_number(241)
241241241
要检查变量的类型,应使用
isinstance
def repeat_number(num):
if isinstance(num, int):
return int(str(num) * 3)
else:
return None
>>> repeat_number(241)
241241241
试试这个语法
if type(num) is int or type(num) is float:
return None
else:
return str(num) * 3
试试这个语法
if type(num) is int or type(num) is float:
return None
else:
return str(num) * 3
这看起来像是一个由OP和有效输入/输出做出初步努力的体面问题,为什么会被否决?这看起来像是一个由OP和有效输入/输出做出初步努力的体面问题,为什么会被否决?