“星期五我恋爱了”程序-Python查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“星期五我恋爱了”程序-Python查询相关的知识,希望对你有一定的参考价值。

感谢您的帮助。我已在下面的评论中提及了我的问题。

这是一个测试/有趣的项目,我正在做一个编码类型的程序,伴有The Cure的歌曲“星期五我恋爱”。基本上,您可以在播放歌曲时输入歌曲。基本上,您键入:“ Monday”程序以“ Blue”响应。在吉他声部,我希望用户按下Enter键(创建了ValueError),并且音符将使用随机脚本显示在页面上。

import random

print('OOOOOH! Welcome to the Day-bot generator')
print('Choose your day of the week.')
days = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']

while True:
        for stanza1 in range(0,5):
            fiil = ['Blue', 'Gray', 'Too', 'I Dont Care About You', 'IM IN LOVE']
            x = input()
            print(fiil[(days.index(x))])

        for stanza1 in range(0,7):

            fiil = ['Fall Apart', 'Break my Heart', 'Break my Heart', 'Doesnt Even Start', 'IM IN LOVE', 'Wait', 'Always Comes too late']
            x = input()     
            print(fiil[(days.index(x))])

if ValueError: # NEED HELP with the CODE here.
            b=['~~~~', '~~♫~~~~~♫','~~~~♩~~♫~', '~~
~~~~♫♫~~', '~~~♫,~~♩~~','~~~~♫', '♬~~~~~', '~~~♬♩~~~~']
            z= random.randint(0,7)
            print(b[z])



        ## Whenever I type a false value. nice squiggly music come out.
        ## But...it jumps back to the start of the code everytime
        ## I need it to jump back to where the user left off. 
##Thank you for helping. Its my third day writing any kind of code so pls forgive me for any bad questions.

答案

欢迎您,祝贺您开始第一个项目。这听起来有些古怪,但是发布可重现的代码很有帮助。下次您应该确保标题是一个实际的问题:甚至像“为什么我的程序跳回到代码开头?”之类的东西。比您目前拥有的有帮助。

通常,请尽量不要依赖异常来指导您的控制流程。由于您已将要接受的内容列入白名单(days),因此可以仅使用简单的if语句。

if x in days: 
    # Do whatever`

请注意,您可能希望允许用户键入“ Monday”或“ monday”,以便将输入转换为小写。

 if x.lower() in days: 
    # Do whatever`

由于您将多次调用随机笔记,因此应将其包装在函数中。

def printRandomNotes():
    b=['~~~~', '~~♫~~~~~♫','~~~~♩~~♫~', '~~
~~~~♫♫~~', '~~~♫,~~♩~~','~~~~♫', '♬~~~~~', '~~~♬♩~~~~']
    z= random.randint(0,7)
    print(b[z])

所以现在让我们结合整个程序。

import random

print('OOOOOH! Welcome to the Day-bot generator')
print('Choose your day of the week.')
days = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']

def printRandomNotes():
    b=['~~~~', '~~♫~~~~~♫','~~~~♩~~♫~', '~~~~~~♫♫~~', '~~~♫,~~♩~~','~~~~♫', '♬~~~~~', '~~~♬♩~~~~']
    z= random.randint(0,7)
    print(b[z])

while True:
    for _ in range(0,5):
        fiil = ['Blue', 'Gray', 'Too', 'I Dont Care About You', 'IM IN LOVE']
        x = input()
        if x.lower() in days:
            print(fiil[(days.index(x.lower()))])
        else:
            printRandomNotes()

    for _ in range(0,7):
        fiil = ['Fall Apart', 'Break my Heart', 'Break my Heart', 'Doesnt Even Start', 'IM IN LOVE', 'Wait', 'Always Comes too late']
        x = input()
        if x.lower() in days:
            print(fiil[(days.index(x.lower()))])
        else:
            printRandomNotes()

此代码仍然不是DRY,但我现在不必担心样式过多。祝您编码愉快。

以上是关于“星期五我恋爱了”程序-Python查询的主要内容,如果未能解决你的问题,请参考以下文章

12306 Pytho抢票代码

Python如何将RGB图像转换为Pytho灰度图像?

Pytho怎样自学?

pytho 的基本语法

Pytho核心编程笔记——第三章

将Python的库路径添加到系统环境变量PYTHONPATH中,如python安装在C:PYTHO