循环中的打印功能,而不打印

2024-07-05 14:09:15 发布

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

我是python新手,我有一些值得怀疑的事情正在发生。我正试图找出我在这个问题上做错了什么:

本练习假设您已完成编程练习7“随机数文件” 作家编写另一个从文件中读取随机数的程序,显示 然后显示以下数据: •总数 •从文件中读取的随机数

写入文件:

import random

def main():

    randomcount = int(input('How many numbers should i generate?'))

    randomfile = open('randomnumber.txt', 'w')

    total = 0
    for numbers in range(randomcount):
        number = random.randint(1,100)
        total+= number
        randomfile.write((str(number)) + '\n')
        randomfile.write((str(total)) + '\n') 

    randomfile.close()
    print('File updated')

main()

输出:

How many numbers should i generate?5 (enter)
file updated                    -       **Question 1**
file updated                     | ---- this is new.. while doing 
file updated                    -       trial and error this started
                                        repeating. First 2 times then 
                                        after awhile 3 times. 
                                        Refreshed kernel and outputs 
                                        still does this

正在读取文件:<;——#主要问题

def main():
    randomfile = open('randomnumber.txt','r')

    contents = randomfile.readline()

    while randomfile !='':
        total = randomfile.readline()

        contents = contents.rstrip('\n')
        total = total.rstrip('\n')

        print(contents)

        contents = randomfile.readline()

   print('total: ',total)
   randomfile.close()

main()

输出:

90                      -
22                       |
17                       |--- Randomly generated
2                        |
75                      -
        **Question 2**
        <--- print('total: ', total) not showing up


        -
         |
         |
         |
         .   **Question 3**
         .   <--------- Space goes on forever like if its printing 
         .              space. so much that theres a scroll bar just
         .              for empty space. if i try to scroll all the 
         |              way to the bottom so that i can see if maybe 
         |              its printing at the end i never reach the end 
         |              of it because for some reason the program 
        -               keeps adding more and more space.

Tags: and文件thenumberformaincontentsthis
3条回答

readline改成readlines希望这样行

很明显,问题是在第一行中,您以单引号'打开,以双引号"关闭。更改:

def main():

    randomcount = int(input('How many numbers should i generate?"))

致:

def main():

    randomcount = int(input('How many numbers should i generate?'))

我重组了我的代码,使之成为for循环,而不是while循环。您不需要rstrip转换为int的数字。将累加器放在输入文件部分而不是输出文件部分。Mae的代码清理,它的工作

随机输入

def main():

    randomcount = int(input('How many numbers should i generate?'))

    randomfile = open('randomnumber.txt', 'w')

    for numbers in range(1,randomcount + 1):
        numbers = random.randint(1,100)

        randomfile.write(str(numbers) + '\n') 

    randomfile.close()

    randomfile = open('randomnumber.txt','r')
    total = 0

    for numbers in randomfile:
        numbers = int(numbers)
        total+= numbers

        print(numbers)
    print('total',total)

main()

相关问题 更多 >