注释中的python无效语法

python invalid syntax in comment

使用空闲的python 3.4.3。这是一个脚本,它给用户一个小测验,然后计算出有多少是正确的。在运行脚本之前,我的注释中有一个无效的语法错误。这是关于注释的整个代码。具体意见在score = decimal.Decimal(score)行下:

1
2
3
4
5
6
score = amountright/7*100"""this takes the amount of questions the user got right, divides it by 7 (the total number of questions), then multiplies it by 100 to get a percentage correct and stores it in the variable score"""
import decimal"""this will import a function to round off the final percentage to a whole number instead of an unnecessarily long decimal"""
score = decimal.Decimal(score)
"""this redefines the score variable as some sort of roundable decimal. the round() function in the line below will still function without this line, but it would print an unneeded .0 before the %"""
print ("You got" + str(amountright) +" out of 7 right, or" + str(round(score,0)) +"%.")
"""the round() function works by rounding the first argument to n places in the second argument"""

我运行这个程序,得到无效的语法错误,然后它在单词scorered中突出显示s和c。使用"在这方面没有区别。但是,当我像这样运行代码时:

1
2
3
4
"""
This redefines the score variable as some sort of roundable decimal. the round() function in the line
below will still function without this line, but it would print an unneeded .0 before the %
"""

它仍然提供语法错误,但这次只突出显示score红色中的s。UNUTBU请求增加的报告:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
print ("Here is a quiz!
"
) #starting prompt

useranswer = input("Question 1: What is 4+|6x1|?")
#this is where the user enters their answer to the question

#the following 2 variables on lines 7 and 9 only need to be defined once
rightanswerresult ="Correct! Next question:
"
#tells the user they are correct
invalidanswerresult ="This is not a number. This is counted as a wrong answer.
"

"""if the user does not answer with a number, this string will print telling them so and the question will
be counted wrong"""


amountright = 0 #this number increases every time the user answers a question correctly

if useranswer.isdigit(): #if the user's answer is a number, the code below runs
    if useranswer =="10":
    #this checks if the user's answer and the correct answer are the same, then runs the code below if they are"""
        print (rightanswerresult) #this prints the variable rightanswerresult described on line 7
        amountright += 1 #this will add the value one to the variable amountright described on line 13
    else: #if the user's answer and the correct answer are not the same, the code below runs
        print ("Wrong, it was 10. Next question:
"
) #tells the user they were wrong
else: #if the user's answer is NOT a number, this runs
    print (invalidanswerresult) #this prints the varible invalidanswerresult described in line 9
#this pattern is repeated 5 more times. an altered process is used for the True/False question (#7)
useranswer = input("Question 2: What is (15/3) x 12?")
if useranswer.isdigit():
    if useranswer =="60":
        print (rightanswerresult)
        amountright += 1
    else:
        print ("Wrong, it was 60. Next question:
"
)
else:
    print (invalidanswerresult)

useranswer = input("Question 3: What is 20+24/12?")
if useranswer.isdigit():
    if useranswer =="22":
        print (rightanswerresult)
        amountright += 1
    else:
        print ("Wrong, it was 22. Next question:
"
)
else:
    print (invalidanswerresult)

useranswer = input("Question 4: Solve for x: 2x-1=5")
if useranswer.isdigit():
    if useranswer =="3":
        print (rightanswerresult)
        amountright += 1
    else:
        print ("Wrong, it was 3. Next question:
"
)
else:
    print (invalidanswerresult)

useranswer = input("Question 5: What is the square root of 256?")
if useranswer.isdigit():
    if useranswer =="16":
        print (rightanswerresult)
        amountright += 1
    else:
        print ("Wrong, it was 16. Next question:
"
)
else:
    print (invalidanswerresult)

useranswer = input("Question 6: What is 7x7+7/7-7?")
if useranswer.isdigit():
    if useranswer =="1":
        print (rightanswerresult)
        amountright += 1
    else:
        print ("Wrong, it was 1. Next question:
"
)
else:
    print (invalidanswerresult)
#the question below appears different because it is True/False and the last question
useranswer = input("Question 7: True or False: |3|=98/2").lower() #as before, the user is asked a question
if useranswer =="false": #checks if user's answer is false, and runs code below if it is
    print ("You're right! Your results are below:
"
) #this tells the user they are correct then shows them their final score
    amountright += 1 #as before, this will add the value one to the variable amountright described on line 8
if useranswer =="true": #checks if user's answer is true, and runs code below if it is
    print ("Actually, its false. Your results are below:
"
) #this tells the user they are wrong then shows them their final score
elif useranswer !="false" and useranswer !="true": #if the user's answer is not true or false, this code runs
    print ("It seem you didn't enter true or false. Maybe you made a spelling error? Anyways, your results are below:
"
)
   """tells user their answer is invalid then shows final score"""
#all questions have been completed. below is the final score calculation
score = amountright/7*100"""this takes the amount of questions the user got right, divides it by 7
(the total number of questions), then multiplies it by 100 to get a percentage correct and stores
it in the variable score"""

import decimal"""this will import a function to round off the final percentage to a whole number
instead of an unnecessarily long decimal"""

score = decimal.Decimal(score)
"""this redefines the score variable as some sort of roundable decimal. the round() function in the line
below will still function without this line, but it would print an unneeded .0 before the %"""

print ("You got" + str(amountright) +" out of 7 right, or" + str(round(score,0)) +"%.")
"""the round() function works by rounding the first argument to n places in the second argument"""

评论有错误吗?


我有一个类似的问题:有时候,当你在错误的方向上有一个错误的字符时,你会说"无效的语法",E.G.

1
print(f"value of counter = {counter}")

让我们在50号线上说吧

1
print(f"value of counter = {counter]}")

生成一个"致残语法"的信息,指向一个不规则的方式

在格式化字符串中找到"类型"的时间。所以总是检查你的胸罩!


是用来指示如何开始的。使用三重分摊法表示多线条条的开始和结束。虽然没有评论,但有时候可以使用多线条评论。

然而,弦乐的安置仍然需要依靠Python的语法规则。

1
score = amountright/7*100"""this takes the amount..."""

由于弦乐与表情不符,所以划一个句法。粗糙等于

ZZU1

Python不知道如何用弦乐来评价一个数字。即使可以进行评估,也应将价值分配给score。多线条条不应被解释为一种方式。For the multiline string to act as a how it must be on a line by itself:

1
2
3
4
5
6
7
score = amountright/7*100
"""this takes the amount of questions the user got right, divides it by 7
(the total number of questions), then multiplies it by 100 to get a percentage correct and stores it in the variable score"""


import decimal
"""this will import a function to round off the final percentage to a whole number
instead of an unnecessarily long decimal"""

然而,更常用的语法是:

1
2
3
4
score = amountright/7*100
# this takes the amount of questions the user got right, divides it by 7 (the
# total number of questions), then multiplies it by 100 to get a percentage
# correct and stores it in the variable score

在每一条线的前面,似乎都像一个痛苦,但一个好的文本编辑在Python的编程应该有一条路让你选择一个文本和区域。按按钮或键组合插入您的标记。如果你编辑不具备这种特征,找一个杜斯