2017-07-11 102 views
0

我需要在if语句被用于用户输入的方式:在使用字符串if语句

print("Hello, World!") 

name = input("What is your name?") 

hobby = input("Cool, so " + name + " what do you do you for fun? You can say something like play, work, learn, etc.") 

play = 'play' 
work = 'work' 
learn = 'learn' 

if hobby = play 
    print('awesome') 

elif hobby = work 
    print('must be busy') 

elif hobby = learn 
    print('ha, me too') 
+5

的比较操作是''==不是'=' – michaelpri

回答

6

ifelifelse报表必须由:被终止。另外==是用于比较,=是转让。所以

if hobby == play: 
    print('awesome') 

elif hobby == work: 
    print('must be busy') 

elif hobby == learn: 
    print('ha, me too') 
+1

谢谢。菜鸟错误哈哈。 –

0

您可以通过编码

if hobby == 'play': 
    print('awesome') 

OR

if hobby == play: 
    print('awesome') 
+0

请使用SO内置的代码美化器来格式化您的代码。 –

1

在你的解决方案你缺少:==运营商,但在你的情况下删除该任务,而不是其他人,如果梯子,你可以用字典。

from __future__ import print_function 

actions = {'play': 'awesome', 'work': 'must be busy', 'learn': 'ha, me too', } 

if hobby in actions: 
    print(actions[hobby]) 
else: 
    print("default case") 

OR

from __future__ import print_function 

actions = {'play': 'awesome', 'work': 'must be busy', 'learn': 'ha, me too', } 

try: 
    print(actions[hobby]) 
except KeyError: 
    print("default case") 
+1

我在第一行收到一条错误消息 –

+0

@AJSloniewsky您正在使用哪个版本?评论你得到的错误! –

+1

哦,别介意我忘了在脚本的开头放置[from __future__ import print_function] –