V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
HHH01
V2EX  ›  Python

求教 Python 练习,单词排序

  •  
  •   HHH01 · 2019-10-24 12:27:12 +08:00 · 2182 次点击
    这是一个创建于 1889 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题目如下

    Exercise 5. Write a program words.py. The program should repeatedly ask the user to enter a word, one at a time, until they enter done (which does not count as an entered word). At that point, the program should print: [first] comes first in the dictionary [last] comes last in the dictionary with [first] and [last] replaced with entered words which would come first and last when sorted alphabetically. You can assume all words entered are lower-case, and don’t contain non-alphabetic characters. You can also assume that the user will always give at least one word (different than done). An example session might look as follows: Enter a word: foo Enter a word: bar Enter a word: baz Enter a word: zoo Enter a word: boo Enter a word: done bar comes first in the dictionary zoo comes last in the dictionary

    我自己弄了一个, i='a' j='z' while True: x=input('Enter a word: ') if x =='done': break if str(x)>=i: i=x continue if str(x)<j: j=x continue print(j, 'comes first in the dictionary') print(i, 'comes last in the ditionary')

    但是这有个问题,就是只输入一个单词的时候就废了。。。 有没有大佬出来指点一下?给点思路。。。但是不要用太高级的,我目前只学到 flow control,这是老师留的作业题,太高级的我也不会用

    5 条回复    2019-10-24 13:05:38 +08:00
    Trim21
        1
    Trim21  
       2019-10-24 12:34:26 +08:00 via iPhone
    把用户输入的词放到一个 list 里面,然后在输出的时候先把 list 排序,然后输出第一个和最后一个
    Trim21
        2
    Trim21  
       2019-10-24 12:36:07 +08:00 via iPhone
    @Trim21 或者直接把你这段代码后面的两个 continue 去掉不就好了…
    HHH01
        3
    HHH01  
    OP
       2019-10-24 12:39:08 +08:00
    @Trim21 list 不能用,还没学到,用了评分过不了。continue 这个应该没问题吧。。。现在这个程序关键是只输入一个单词的时候会出问题
    Trim21
        4
    Trim21  
       2019-10-24 12:45:01 +08:00 via Android   ❤️ 1
    @ryanjmliao 只输入一个单词的时候 last word 一定是 z 对吧?
    因为你只输入一个单词的时候一定不会运行最后一个判断,你需要把倒数第二个 continue 删掉,无论前一个条件是真是假都应该判断这个单词是不是出现在单词表最后的单词
    HHH01
        5
    HHH01  
    OP
       2019-10-24 13:05:38 +08:00 via Android
    @Trim21 感谢感谢,是这个道理,搞定了😅
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5350 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.