有没有办法转到 python 中的特定行或命令?
Is there a way to go to specific line or command in python?
我正在通过 python 自动阅读无聊的内容并尝试解决实际问题。
在这个项目中,我需要定义 collatz() 函数并打印代码中看到的结果,直到它得到 1。
所以基本上我只需要输入一个数字,程序应该 return 数字直到它 returns 1。
程序运行良好,但我有一个问题,是否可以让它变得更好 :D .
我的问题是在使用 try: and except: 之后,有没有一种方法可以在输入函数中输入字符串时不结束进程,而是在 'You must enter number' 下面获取消息并返回输入新数字或字符串并执行while 循环正常。代码工作正常,只是想知道这是否可行,如果可行,如何实现?
def collatz(number):
if number % 2 == 0:
print(number // 2)
return number // 2
else:
print(3 * number + 1)
return 3 * number + 1
try:
yourNumber = int(input('Enter number: '))
while True:
yourNumber = collatz(yourNumber)
if yourNumber == 1:
break
except ValueError:
print('You must enter a number')
将 try/except
放入循环中,这样在 except
循环将继续,但如果成功,它将 break
:
while True:
try:
yourNumber = int(input('Enter number: '))
except ValueError:
print('You must enter a number')
else:
break
while yourNumber != 1:
yourNumber = collatz(yourNumber)
我正在通过 python 自动阅读无聊的内容并尝试解决实际问题。 在这个项目中,我需要定义 collatz() 函数并打印代码中看到的结果,直到它得到 1。 所以基本上我只需要输入一个数字,程序应该 return 数字直到它 returns 1。 程序运行良好,但我有一个问题,是否可以让它变得更好 :D .
我的问题是在使用 try: and except: 之后,有没有一种方法可以在输入函数中输入字符串时不结束进程,而是在 'You must enter number' 下面获取消息并返回输入新数字或字符串并执行while 循环正常。代码工作正常,只是想知道这是否可行,如果可行,如何实现?
def collatz(number):
if number % 2 == 0:
print(number // 2)
return number // 2
else:
print(3 * number + 1)
return 3 * number + 1
try:
yourNumber = int(input('Enter number: '))
while True:
yourNumber = collatz(yourNumber)
if yourNumber == 1:
break
except ValueError:
print('You must enter a number')
将 try/except
放入循环中,这样在 except
循环将继续,但如果成功,它将 break
:
while True:
try:
yourNumber = int(input('Enter number: '))
except ValueError:
print('You must enter a number')
else:
break
while yourNumber != 1:
yourNumber = collatz(yourNumber)