Python:分析输入,看它是整数、浮点数还是字符串

2024-05-15 08:03:26 发布

您现在位置:Python中文网/ 问答频道 /正文

为了判断输入是整数、浮点数还是字符串,我已经研究了一两天了。

简言之,程序的设计是将每个输入变成一个字符串,循环遍历每个字符串并检查列表数字。如果字符串的所有数字都是整数,如果它有一个“.”则是浮点数,如果没有,则不是数字。明显的缺陷是包含字母和“.”的字符串,在该程序中将被视为浮点数。

这个程序的最终目标是打开文本文件并查看什么是int、float或其他输入。

问题

-有没有办法进一步优化这个程序

-如何进一步修改此程序以打开文本文件,读取、分析和写入哪个输入在哪个列表中

第一篇帖子!!!

#Checks input to see if input is integer, float, or character

integer = []
float = []
not_number = []

digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
input_list = [100, 234, 'random', 5.23, 55.55, 'random2']

for i in input_list:

    i = str(i) 
    length = len(i)

    count = 0 
    marker = 0

    for j in i:
        for k in digits:
            if k == j:
                count = count + 1

#k loops through digits to see if j single character 
#string input is number

        if count == length:
            integer.append(i)
            marker = 1

#count is equal to length if entire string is integers

        if j == '.':
            float.append(i)
            marker = 1

#Once '.' is found, input is "considered" a float

        if marker == 1:
            break
    else:
        not_number.append(i)

#If code above else proves that input is not a number the 
#only result is that it isn't a number

print ('Integers: ', integer)
print ('Float: ', float)
print ('Not Numbers', not_number)

Tags: to字符串程序numberinputifiscount