[英]multiply string by number python
因此,我有一个带有一个参数(整数num)的程序。 应该返回一个数字,该数字重复num的数字3次。 如果参数不是整数,则函数应返回None。
例如:
对于输入参数“ hello!”,它应返回None,因为输入参数是一个字符串。
对于输入参数“ 23”,它应该返回None,因为输入参数是一个字符串。 。
对于输入参数12.34,它应返回None,因为输入参数是浮点数。 。
对于输入参数1,应返回111或参数241,应返回241241241。
我不知道我在做什么错,任何帮助将不胜感激!
def repeat_number(num):
if num is type(str) and type(float):
return None
else:
return str(num) * 3
你近了 这里有两个不同的问题。
首先,您实际上不必键入检查(鸭子键入),但是如果必须,请正确执行:
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
试试这个语法
if type(num) is int or type(num) is float:
return None
else:
return str(num) * 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.