为什么我在第10行获得无效语法?

时间:2017-08-19 06:54:58

标签: python

 # this program says hello and ask my name.
 print('Hello World')
 print('Whats your name?')
 myname = input()
 print('its good to meet you, ' + myname) #ask for my name
 print('the length of your name is : ')
 print(len(myname))
 print('whats your age?')#ask for my age
 myage = input()
 print('you  will be ' + str(int(myage) + 1) + 1 'in a year')

我在代码的第10行看到语法错误,我看到所有的括号都被正确放置了。

5 个答案:

答案 0 :(得分:1)

我认为这是你想要的,基于程序的逻辑

print('you will be ' + str(int(myage) + 1) + ' in a year')

输出:

Hello World
Whats your name?
Jon Doe
its good to meet you, Jon Doe
the length of your name is : 
7
whats your age?
23
you will be 24 in a year

修改:OP希望我在+中解释何时使用print()。通常,如果您要在print()语句中打印多个参数,则希望使用+加入它们。当你一起加入论点时,记住他们的type必须是一样的。所以例如。 print(1 + '2')会给您一个错误,因为1int'2'str。你必须抛出参数才能使它们相同。所以print(1 + int(' 2'))会正确地给你3

答案 1 :(得分:1)

你有一个额外的1。将print('you will be ' + str(int(myage) + 1) + 1 'in a year')更改为

print('you will be ' + str(int(myage) + 1) + ' in a year')

答案 2 :(得分:0)

检查您的代码here

尝试:

# this program says hello and ask my name.
print('Hello World')
print('Whats your name?')
myname = input()
print('its good to meet you, ' + myname) #ask for my name
print('the length of your name is : ')
print(len(myname))
print('whats your age?')#ask for my age
myage = input()
print('you  will be ' + str(int(myage) + 1) + ' in a year')

答案 3 :(得分:0)

以下将解决您的问题:

print('Hello World')
print('Whats your name?')
myname = raw_input()
print('its good to meet you, ' + myname) #ask for my name
print('the length of your name is : ')
print(len(myname))
print('whats your age?')#ask for my age
myage = raw_input()
print("you  will be " + str(int(myage) + 1) + " years old by next year")

你错过了第10行中的'+'来连接你的字符串。还有一个不需要的'+ 1',当你试图连接int和str对象时,它会给你造成另一个错误。

另一个更正,我用 raw_input()更改了 input()函数,因为我正在使用python2。如果您需要有关此chnage的更好解释,可以查看this link

答案 4 :(得分:0)

你应该在这个命令中有一个字符串:

print('you  will be ' + str(int(myage) + 1) + 1 'in a year')

这些是你的字符串: '你会' str(int(myage)+ 1)'在一年'。 但你在一年'中写 1'是错误的。这不是字符串。 我认为你不需要第二个“1”。 你可以写:

print('you  will be ' + str(int(myage) + 1) +'in a year')