Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使Python If/Elif/Else程序显示与输入相同的罗马数字时出现语法错误_Python - Fatal编程技术网

使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"

编辑:与其否决我,不如提供一个url,告诉我你会推荐一个学习Python的新手去哪里?成为解决方案与问题的一部分

我正在尝试编译一个基本程序(针对一个类),当满足特定的if/elif/else条件时,会显示一个特定的罗马数字,尽管我有点不明白为什么会出现错误。错误包含在下面

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"))