0

有文件名为:page1.txt、page2.txt、page3.txt、page4.txt。这些都是页面。询问用户输入,如果用户按 1,则显示第 1 页。当用户按下页码时,我能够显示结果:

def read(argu):
    argu = open(argu)
    y = [x for x in argu]
    print y


inp = raw_input('Say: ')

if inp=='1':
    read('page1.txt')

if inp=='2':
    read('page2.txt')

if inp=='3':
    read('page3.txt')

我被困在下一个和上一个。如果用户在第 2 页并且如果他按下一步,我需要显示第 3 页,依此类推。我怎么做?提前致谢。

4

1 回答 1

3

为了从一个页面移动到另一个页面,您需要使用一个变量来显示用户当前正在阅读的页面。然后,上一个和下一个将更新页码并显示相应的页面:

file = ['page1.txt', 'page2.txt', 'page3.txt', 'page4.txt']
pagecount = len(file)
page = 1                    # initialize to a default page

if inp == '1':
    page = 1
    read(file[page-1])      # pages are 1-4, subscripts are 0-3

# ... pages 2-4 go here 

elif inp == '+':              # whatever key you use for Next
    page = min(page+1, pagecount)    # don't go beyond last page
    read(file[page-1])

elif inp == '-':              # switch statements use "if .. elif .. elif .. else"
    page = max(page-1, 1)
    read(file[page-1])

在您使该版本正常工作后,您可以通过从页码构造文件名而不是将文件名存储在列表中来概括它以允许任意数量的页面。而且您的输入循环只需要一次“读取”——因为每个键都读取一个页面,您可以将其从每个单独的键中分解出来。

于 2012-09-18T11:56:26.927 回答