Python 用数字乘以字符串

Python 用数字乘以字符串,python,Python,所以我有一个程序,它接受一个参数,一个整数num。它应该返回一个数字,这个数字重复num的数字3次。如果参数不是整数,则函数应返回None 例如: 对于输入参数“hello!”,它应该返回None,因为输入参数是字符串 对于输入参数“23”,它应该返回None,因为输入参数是字符串 对于输入参数12.34,它应该返回None,因为输入参数是浮点 对于输入参数1,它应该返回111或参数241,它应该返回241 我不知道我做错了什么,任何帮助都将不胜感激 def repeat_number(num)

所以我有一个程序,它接受一个参数,一个整数num。它应该返回一个数字,这个数字重复num的数字3次。如果参数不是整数,则函数应返回None

例如:

对于输入参数“hello!”,它应该返回None,因为输入参数是字符串

对于输入参数“23”,它应该返回None,因为输入参数是字符串

对于输入参数12.34,它应该返回None,因为输入参数是浮点

对于输入参数1,它应该返回111或参数241,它应该返回241

我不知道我做错了什么,任何帮助都将不胜感激

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和有效输入/输出做出初步努力的体面问题,为什么会被否决?