【问题标题】:numbers that are squares of integers整数平方的数字
【发布时间】:2019-02-17 08:13:31
【问题描述】:

偶数和平方数

data.txt 文件位于 [0.999999] 范围内的以下 1000 个数字的行中。

(a)到a.txt文件,在data.txt文件中输入偶数个数,格式如下:"Even numbers are [number of numbers]" //ivedoneit

(b)到b.txt文件,复制文件data.txt中的所有数字,其中个位等于7或0//ivedoneit

(c) 到 c.txt 文件中,复制所有整数平方的数字,例如这个数字是数字 225,因为

225 = 15**2

我已经完成了

def main():

    infile = open('dane.txt','r')


    evenTotal = 0
    oddTotal = 0

    line = infile.readline()

    while line != '':
        if int(line) % 10 == 0 and int(line) % 7 == 0:
            evenTotal += int(line)
            even = open('a.txt', 'w')

            even.write("wszystkie liczby jednosci ")
            even.write(str(evenTotal))

        else:
            oddTotal += int(line)
        line = infile.readline()
    print('The total for the even numbers is',evenTotal)
    print('The total for the odd numbers is',oddTotal)

    infile.close()


    print('All done!')

main()

它对 (b) 有好处 对于 (a) 我只需要改变

if int(line) % 2 == 0:

它可以工作,但我完全不知道该怎么做(c)。

【问题讨论】:

  • 那么你只是在问如何检查一个数字是否是一个完美的正方形?
  • 是的,我想检查一个数字是否是一个完美的正方形

标签: python


【解决方案1】:

999999 之间的整数平方数是有限的。您可以将 0 到 999999 之间的所有整数组合在一起,然后为每一行检查该行的编号是否在该集合中。

【讨论】:

  • 我试过这样但它不起作用 if((int)sqrt(line)==sqrt(line))
【解决方案2】:

得到Python: Check if a number is a perfect square的协助

你应该运行:

if int(math.sqrt(int(line))+.5) ** 2 == int(line):

【讨论】:

  • "TypeError: 必须是实数,不是str"
  • 还是错了。它正在编译,但什么都没有发生.. :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 2013-03-01
  • 1970-01-01
  • 2013-11-26
相关资源
最近更新 更多