使Python If/Elif/Else程序显示与输入相同的罗马数字时出现语法错误
编辑:与其否决我,不如提供一个url,告诉我你会推荐一个学习Python的新手去哪里?成为解决方案与问题的一部分 我正在尝试编译一个基本程序(针对一个类),当满足特定的if/elif/else条件时,会显示一个特定的罗马数字,尽管我有点不明白为什么会出现错误。错误包含在下面使Python If/Elif/Else程序显示与输入相同的罗马数字时出现语法错误,python,Python,编辑:与其否决我,不如提供一个url,告诉我你会推荐一个学习Python的新手去哪里?成为解决方案与问题的一部分 我正在尝试编译一个基本程序(针对一个类),当满足特定的if/elif/else条件时,会显示一个特定的罗马数字,尽管我有点不明白为什么会出现错误。错误包含在下面 Traceback (most recent call last): File "python", line 42 print"The number is I"
Traceback (most recent call last):
File "python", line 42
print"The number is I"
^
SyntaxError: invalid syntax
当我完全删除else行时,程序会运行,但我从来没有得到打印的任何if/elif函数来实际打印。我一直在学习下面的教程,学习else/if python,因为社区学院不教python,但令人沮丧的是,它要求在其中编写项目
教程:
我学到了,我需要把我想要的印在纸上
更正:打印(“1-得到错误的表达式值”)
错误:打印“1-得到错误的表达式值”
我再一次被这个错误迷住了——如果我能理解这一点,任何对教程的建议或指导都将不胜感激
# ////////////////////// ALGORITHIM /////////////////////////
# 1 prompt the user for a number from range of 1-10
# 2 display roman numeral for that number
# 3 if outside range of 1-10 display error message invalid number try reentering
# ////////////////////// ALGORITHIM END /////////////////////////
# ////////////////////// PSEUDOCODE /////////////////////////
# IF <<number >= 0, 11
# Error the number you have entered is not in the range of 1-10
# Elif var = 1
# display I
# Elif var = 2
# display II
# Elif var = 2
# display II
# Elif var = 3
# display III
# Elif var = 4
# display IV
# Elif var = 5
# display V
# Elif var = 6
# display VI
# Elif var = 7
# display VII
# Elif var = 8
# display VIII
# Elif var = 9
# display IX
# Elif var = 10
# display X
#END IF
# MAIN MODULE
number = 0
#getInput Module
number = input(int("Please enter a number within the range of 1-10"))
print("Was your number " + number + "?")
#decisionPiece Module
if(number==1):
print"The number is I"
elif(number==2):
print"The number is II"
elif(number==3):
print"The nubmer is III"
elif(number==4):
print"The nubmer is IV"
elif(number==5):
print"The nubmer is V"
elif(number==6):
print"The nubmer is VI"
elif(number==7):
print"The nubmer is VII"
elif(number==8):
print"The nubmer is VIII"
elif(number==9):
print"The nubmer is IX"
elif(number==10):
print"The nubmer is X"
else:
print"The number you entered is not within the range of 1-10"
print ("Good bye!")
#printNumber Module
算法/////////////////////////
#1提示用户输入范围为1-10的数字
#2显示该数字的罗马数字
#3如果超出1-10范围,显示错误消息无效数字,请尝试重新输入
#最后的算法/////////////////////////
#//伪代码/////////////////////////
#如果
这是不正确的。你应该只使用
else :
print("The number is X")
只需使用
else:
而不是else(number==3)
<代码>其他:不接受条件。此外,在Python中不需要在条件周围加括号 这一行:
number = input(int("Please enter a number within the range of 1-10"))
现在给你带来了麻烦。您需要获取输入,然后转换为int:
number = int(input("Please enter a number within the range of 1-10"))
如果用户输入任何无法转换为int的内容,此代码仍将抛出错误。我猜他们不会希望您捕获此项目的条件。
否则
不会接受条件。.您的代码无论如何都不会按照您认为的方式工作。假设您使用的是Python 3,input()
返回一个字符串,在将其与其他int进行比较之前,您需要显式地将其转换为int
。非常感谢您的回答。MattDMo我将更正此问题。很明显,我并没有像我应该的那样密切关注我找到的教程。不过我得好好研究这件事,因为我不明白。同样,本课程没有提供任何关于python的教育,我们只是希望在课程《编程逻辑与设计》的基础上学习python。你对这个int过程的最新材料有什么建议吗?Doh我显然没有完全注意到我引用的教程,因为它也没有提到在else上设置条件。非常感谢您的回复!非常感谢Alan,我终于找到了一个关于input/float的Python3.x教程,这很有启发性。在学习html/css之后,我不习惯这样做。哦。你说这种情况是什么意思?该项目只是让它对数字答案做出响应,或者如果输入1-10之外有一个数字,我现在知道我需要在else子句中输入一个错误的输出。在回顾了该教程和您的建议后,我发现我必须告诉程序对输入是/是的输入类型进行分类应该是/预期是。我做了您建议的更改,导致了以下错误:回溯(最近一次调用last):TypeError中的文件“python”,第38行:无法隐式地将“int”对象转换为str,因此由于此错误,我删除了前面第38行的以下行。我以前用这个来测试/验证程序是否看到/得到了输入打印(“你的号码”+号码+“?”)啊哈,我明白了…我想这是你问题的部分答案。它将通过逗号在打印中组合字符串/浮点/int值。例如,我先前在第38行删除的行,我可以这样做。打印(“是你的号码”,数字,“?”)而不是+符号。@L2g2h是的,这样行。这样做会更干净:print(“您的号码是%d吗?”%number)
number = int(input("Please enter a number within the range of 1-10"))