Python Forum
Help with try and open 6.txt file and print as perfect or not
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help with try and open 6.txt file and print as perfect or not
#2
The problem is likely on line 13. Since sum1 is a global variable, it cannot be reset inside a function unless that function uses the keyword "global". In any case, global functions should not be used like that. Here's a rewrite of the code. The commented out section should work for you and lines 28 through 33 are a test for 6:

import math

KB = 1024
MB = 1024 * 1024

def perfect_number(number, factors):
    sum_of_factors = sum(factors) - number
    if sum_of_factors == number:
        return f"The number {number} is a Perfect number!"
    else:
        return f"The number {number} is not a Perfect number!"

def factor_number(n):
    root = int(round(math.sqrt(n), 0))
    return [(x, n // x) for x in range(1, root + 1) if n % x == 0]

if __name__ == '__main__':
    """with open('6.txt', buffering=1*MB) as bigggg:
        for num in bigggg:
            number = int(num)
            factors = []

            for pair in factor_number(number):
                factors.extend(pair)

            print(perfect_number(number, factors))"""

    factors = []

    for pair in factor_number(6):
        factors.extend(pair)

    print(perfect_number(6, factors))


You may want to make factors into a set instead of list using my code. Otherwise, square numbers may not be correctly evaluated.
Reply


Messages In This Thread
RE: Help with try and open 6.txt file and print as perfect or not - by stullis - Jan-01-2019, 03:22 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Cannot get cmd to print Python file Schauster 11 621 May-16-2024, 04:40 PM
Last Post: xMaxrayx
  Open/save file on Android frohr 0 415 Jan-24-2024, 06:28 PM
Last Post: frohr
  file open "file not found error" shanoger 8 1,412 Dec-14-2023, 08:03 AM
Last Post: shanoger
  Are there errors in the code for my coin toss systems? Matlibplot is too perfect . Coolkat 0 457 Nov-13-2023, 11:54 AM
Last Post: Coolkat
  How can i combine these two functions so i only open the file once? cubangt 4 981 Aug-14-2023, 05:04 PM
Last Post: snippsat
  Start print a text after open an async task via button Nietzsche 0 770 May-15-2023, 06:52 AM
Last Post: Nietzsche
  I cannot able open a file in python ? ted 5 3,824 Feb-11-2023, 02:38 AM
Last Post: ted
  testing an open file Skaperen 7 1,519 Dec-20-2022, 02:19 AM
Last Post: Skaperen
  Saving the print result in a text file Calli 8 1,998 Sep-25-2022, 06:38 PM
Last Post: snippsat
  I get an FileNotFouerror while try to open(file,"rt"). My goal is to replace str decoded 1 1,470 May-06-2022, 01:44 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020