繁体   English   中英

将字符串乘以数字python

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM