如何在我的 Python 代码中使用 while 循环

用户_6396

Q) 编写一个名为 collat​​z() 的函数,它有一个名为 number 的参数。如果一个数字是偶数,那么 collat​​z() 应该打印数字 // 2 并返回这个值。如果一个数字是奇数,那么 collat​​z() 应该打印并返回 3 * number + 1。 然后编写一个程序,让用户输入一个整数,并不断调用该数字上的 collat​​z() 直到函数返回值 1。

这是我为上述问题编写的代码,但我需要有关如何使用 while 循环的一些帮助,因此当我收到 ValueError 而不是中断程序时,我希望程序重新执行程序而不是仅仅显示除了中的打印语句。

try:
def collatz(number):
    if number % 2 == 0:
        print(number // 2)
        return number // 2
    elif number % 2 == 1:
        print(3 * number + 1)
        return 3 * number + 1
x = int(input("Enter a number: "))
while x != 1:
    x = collatz(x)
except ValueError:
    print("Please enter a numerical value")
腰带辛哈

您可以修改HandlingExceptions - Python Wiki 中的代码

def collatz(number):
    if number % 2 == 0:
        print(number // 2)
        return number // 2
    elif number % 2 == 1:
        print(3 * number + 1)
        return 3 * number + 1

has_input_int_number = False 
while has_input_int_number == False: 
    try: # try to convert user input into a int number 
        x = int(input("Enter a number: "))
        has_input_int_number = True # will only reach this line if the user inputted a int
        while x != 1:
            x = collatz(x)
    except ValueError: # if it gives a ValueError
        print("Error: Please enter a numerical int value.")

示例用法:

Enter a number:  a
Error: Please enter a numerical int value.
Enter a number:  1.5
Error: Please enter a numerical int value.
Enter a number:  5
16
8
4
2
1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在while循环中使用openmp和break

来自分类Dev

如何在while循环中使用.nextInt()和hasNextInt()

来自分类Dev

如何在pygame的类中使用while循环?

来自分类Dev

如何在python中使用double while循环?

来自分类Dev

我如何在PHP中使用while循环创建的表下方显示消息

来自分类Dev

如何在python中退出while循环?

来自分类Dev

在Python中使用if / else语句的While循环

来自分类Dev

如何在SQL中使用While循环创建变量

来自分类Dev

模拟仅在Python中使用for循环的while循环

来自分类Dev

Python,无法将我的代码转换为while循环

来自分类Dev

如何在JavaScript中使用while循环打印数字

来自分类Dev

如何在while循环中使用pow()?

来自分类Dev

在python中使用while循环

来自分类Dev

如何在while循环中使用range()?

来自分类Dev

如何使用while循环

来自分类Dev

在Python中使用单引号的While循环

来自分类Dev

如何在Linux中使用while循环检查条件?

来自分类Dev

如何在while循环中使用openmp和break

来自分类Dev

如何使用代码sqlserver减少while循环

来自分类Dev

如何在python中使用double while循环?

来自分类Dev

如何在where子句中使用While循环

来自分类Dev

如何使用while循环

来自分类Dev

我如何在不使用while循环的情况下在python3中重复一个函数?

来自分类Dev

模拟仅在Python中使用for循环的while循环

来自分类Dev

如何在python中使用while循环在列表中添加值,直到它们超过最大值?

来自分类Dev

我如何改善有关while循环的python代码

来自分类Dev

在python的url中使用While和For循环

来自分类Dev

在 Python 中使用 while 循环而不是 for 循环

来自分类Dev

如何在python中使用while循环和范围?

Related 相关文章

热门标签

归档