Python练习题-判断某一个字符串是否是小数

# 作业1:判断某一个字符串是否是小数
def is_float(string):
    string1 = str(string)
    if string1.count('.') > 1:  #检测字符串小数点的个数
        return '该字符串不是小数'
    elif string1.isdigit():     #检测字符串是否只由数字组成,如果字符串只包含数字则返回 True 否则返回 False
        return '该字符串不是小数'
    else:
        new_string = string1.split(".") #按小数点分割字符
        first_num = new_string[0]       #取分割完之后这个list的第一个元素
        # 判断负号的个数和first_num第一个元素是不是"-",如果负号个数等于1并且firs_num第一个元素是"-",则合法
        if first_num.count( '-') == 1 and first_num[0] == '-':
            first_num = first_num.replace('-','')
        if first_num.isdigit() and new_string[1].isdigit():
            return '该字符串是小数'
        else:
            return '该字符串不是小数'
if __name__ == '__main__':
    while True:
        print("输入Q退出程序")
        string = input("判断某一个字符串是否是小数,请输入一个字符串:")
        if string.upper() == 'Q':
            print("你退出了程序")
            break
        print(is_float(string))
        print('\n')

涉及知识点:

注:以下参考来源于菜鸟教程

  • count()
    描述
    Python count() 方法用于统计字符串里面字符出现的次数。可选参数为在字符串搜索的开始与结束的位置。
    语法
    count()方法语法:str.count(sub,start=0,end=len(string))
    参数
    sub - - 搜索的子字符串。
    start - - 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
    end - - 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
    返回值
    该方法返回子字符串在字符串中出现的次数。
    实例
str = "this is string happy!!!";
sub = "i";
print("str.count(sub, 4, 30) : ", str.count(sub, 4, 30))
sub = "is";
print("str.count(sub) : ", str.count(sub))
#结果如下
# str.count(sub, 4, 30) :  2
# str.count(sub) :  2
  • isdigit()
    描述
    Python isdigit() 方法检测字符串是否只由数字组成
    语法
    isdigit()方法语法:str.isdigit()
    参数

    返回值
    如果字符串只包含数字则返回True 否者返回False
    实例
str = "123456" # 只有这串数字
print(str.isdigit())
#结果:True

str1 = "this is string!!!"
print(str1.isdigit())
#结果:False
  • split()
    描述
    Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
    语法
    split()方法语法:str.split(str="",num=string.count(str))
    参数
    str - - 分隔符,默认为所有的空字符串,包括空格、换行(
    n)、制表符(\t)等。
    num - - 分割次数。默认为 -1,即分隔所有。
    返回值
    返回分割后的字符串列表
    实例
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print(str.split( ))       # 以空格为分隔符,包含 \n
print(str.split(' ', 1 )) # 以空格为分隔符,分隔成两个
# 输出结果
# ['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
# ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']

txt = "Google#Runoob#Taobao#Facebook"
x = txt.split("#", 1) # 第二个参数为 1,返回两个参数列表
print(x)
# 输出结果: ['Google', 'Runoob#Taobao#Facebook']
  • upper()
    描述
    Python upper() 方法将字符串中的小写字母转为大写字母。
    语法
    upper()方法语法:str.upper()
    参数
    NA
    返回值
    返回小写字母转为大写字母的字符串。
    实例
str1 = "this is string!!!"
print("str.upper():",str.upper())
# 输出结果: str.upper(): THIS IS STRING HAPPY!!!
  • break
    Python中break和continue的用法和区别详解

您可能感兴趣的文章:

  1. Python切换pip镜像源(安装源)的方法详解
  2. Python笔记001-Python入门

你可能感兴趣的:(Python)