由于某种原因,这段代码不起作用?我已经尝试了返回1并且中断了但是由于某种原因它给了我一个错误,我希望代码返回到开头,如果数字太长但没有理想的怎么做。
# Find the cube root of a perfect cube
x = int(input('Enter an integer: '))
if x > 5000:
break:
print('too long')
### this code is broken ^^^^^
ans = 0
while ans**3 < x:
ans = ans + 1
if ans**3 != x:
print(str(x) + ' is not a perfect cube')
else:
print('Cube root of ' + str(x) + ' is ' + str(ans))
IndentationError: unexpected indent
>>> runfile('/home/dux/pyyyyy.py', wdir=r'/home/dux')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/home/dux/pyyyyy.py", line 7
print('wrong'):
^
SyntaxError: invalid syntax
>>> runfile('/home/dux/pyyyyy.py', wdir=r'/home/dux')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/home/dux/pyyyyy.py", line 7
break:
^
SyntaxError: invalid syntax
>>> runfile('/home/dux/pyyyyy.py', wdir=r'/home/dux')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/home/dux/pyyyyy.py", line 8
print('wrong')
^
IndentationError: unexpected indent
>>> runfile('/home/dux/pyyyyy.py', wdir=r'/home/dux')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/home/dux/pyyyyy.py", line 7
break:
^
SyntaxError: invalid syntax
>>>
答案 0 :(得分:3)
我认为你想要的是检查用户是否输入了有效的号码。尝试:
while True:
x = int(input('Enter an integer: '))
if x > 5000:
print('too long')
else:
break
答案 1 :(得分:0)
Break会停止一个循环。由于您的代码不在循环中,我无法理解您为什么要使用它。此外,休息后不需要冒号。只是让你知道我会给出一个例子。
count = 0
while True:
print('Hello') #Prints Hello
if count == 20: #Checks if count is equal to 20
break #If it is: break the loop
count += 1 #Add 1 to count
当然,只需执行while count < 20:
就可以轻松完成此操作,但我要说明一点。
编辑:此外,查看您收到的其他一些错误,不在print
之后也需要冒号。