Python 以10为基数的int()的文本无效:'';错误
我大约5周前才开始编写代码,我正在为我的游戏开发课程编写代码,我在一个问题上陷入了困境。当我运行代码时,我得到了“ValueError:invalid literal for int(),以10为底:“”错误,我不确定我做错了什么。我将在下面发布我的代码。感谢您的帮助。谢谢大家!Python 以10为基数的int()的文本无效:'';错误,python,function,loops,python-3.x,base,Python,Function,Loops,Python 3.x,Base,我大约5周前才开始编写代码,我正在为我的游戏开发课程编写代码,我在一个问题上陷入了困境。当我运行代码时,我得到了“ValueError:invalid literal for int(),以10为底:“”错误,我不确定我做错了什么。我将在下面发布我的代码。感谢您的帮助。谢谢大家! start = 0 def addition(num1): return num1 + num1 def square(num): print("I'm in square") return
start = 0
def addition(num1):
return num1 + num1
def square(num):
print("I'm in square")
return num * num
def display(message):
"""Display game instuctions"""
print(message)
def instructions():
"""Display game instuctions"""
print("Welcome to the world's greatest game")
def main():
instructions()
scores = [("Roger", 3456), ("Justin", 2320), ("Beth", 1422)]
start = input("Would you like to view the high score options? y/n ")
if start == "y":
print("""\
Hello! Welcome to the high scores!
Here are the current high score leaders!:
""")
print(scores)
print("""\n\
0 - Sort high scores
1 - Add high score
2 - Reverse the order
3 - Remove a score
4 - Square a number
5 - Add 2 numbers together
""")
option = int(input())
while option < 6:
start = int(input("Please enter your selection"))
print(scores)
if option == 0:
scores.sort()
print("These are the scores sorted alphabetically")
print(scores)
if option == 1:
print(scores)
print("Please enter your name and score; After entering your name, hit the return key and enter your score")
name = input()
score = int(input())
entry = (name,score)
scores.append(entry)
print(scores)
if option == 2:
print(scores)
scores.reverse()
print("\nHere are the scores reversed")
print(scores)
if option == 3:
print(scores)
print("Please enter the high score you would like to remove. After typing the name, hit the return key and enter the score")
name1 = input()
score1 = int(input())
remove = (name1,score1)
scores.remove(remove)
print(scores)
if option == 4:
val = int(input("Give me a number to square"))
sqd = square(val)
print(sqd)
if option == 5:
val0 = int(input("Give me one number"))
val1 = int(input("Give me another number"))
addi = (val0 + val1)
print(addi)
main()
start=0
def添加量(num1):
返回num1+num1
def平方(num):
打印(“我在广场上”)
返回num*num
def显示(信息):
“”“显示游戏说明”“”
打印(信息)
def指令():
“”“显示游戏说明”“”
打印(“欢迎来到世界上最伟大的游戏”)
def main():
指示()
分数=[(“罗杰”,3456),(“贾斯汀”,2320),(“贝思”,1422)]
开始=输入(“您想查看高分选项吗?是/否”)
如果开始==“y”:
打印(“”)\
你好!欢迎来到高分!
以下是当前的高分领导者!:
""")
打印(分数)
打印(“”\n\
0-排序高分
1-加高分
2-颠倒顺序
3-删除分数
4-将一个数字平方
5-将两个数字相加
""")
option=int(输入())
选项<6时:
start=int(输入(“请输入您的选择”))
打印(分数)
如果选项==0:
scores.sort()
打印(“这些是按字母顺序排列的分数”)
打印(分数)
如果选项==1:
打印(分数)
打印(“请输入您的姓名和分数;输入姓名后,按回车键并输入您的分数”)
名称=输入()
分数=整数(输入()
条目=(姓名、分数)
分数。附加(条目)
打印(分数)
如果选项==2:
打印(分数)
分数。反向()
打印(\n分数是否颠倒)
打印(分数)
如果选项==3:
打印(分数)
打印(“请输入要删除的高分。键入名称后,按回车键并输入分数”)
名称1=输入()
score1=int(输入())
删除=(名称1,分数1)
分数。删除(删除)
打印(分数)
如果选项==4:
val=int(输入(“给我一个平方数”))
sqd=平方(val)
打印(sqd)
如果选项==5:
val0=int(输入(“给我一个数字”))
val1=int(输入(“给我另一个数字”))
addi=(val0+val1)
打印(addi)
main()
当您的输入不是数字时,可能会发生这种情况,因此int()
将失败
例如:
>>> int(input())
hey
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'hey'
>>int(输入())
嘿
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:基数为10的int()的文本无效:“嘿”
要解决此问题,您可以通过
try/except
子句和循环不断请求输入,直到它成为int
。这很可能发生在您的代码中,因为您在循环开始时两次请求用户输入
...
option = int(input())
while option < 6:
start = int(input("Please enter your selection"))
...
如果要在输入非整数时显示某种错误并退出程序,可以使用try except
块:
...
try:
option = int(input("Please enter your selection"))
while option < 6:
...
option = int(input("Please enter your selection"))
except ValueError:
print("Error!")
。。。
尝试:
option=int(输入(“请输入您的选择”))
选项<6时:
...
option=int(输入(“请输入您的选择”))
除值错误外:
打印(“错误!”)
您必须输入字符串值并尝试将字符串转换为int。哪一行出现异常以及该状态的用户输入是什么?您正在尝试将空字符串转换为int。检查您的
input
呼叫。您的option=option=int(输入(“请输入您的选择”)
与option=int(输入(“请输入您的选择”))
有什么不同吗?
...
try:
option = int(input("Please enter your selection"))
while option < 6:
...
option = int(input("Please enter your selection"))
except ValueError:
print("Error!")
>>> int(raw_input())
e
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'e'
>>>
if option == 0:
# Do coding for option 0
elif option==1:
# Do coding for option 1