long90 发表于 2023-3-23 23:39:40

如何继续优化

需求:collate() 函数,参数 test_number 是偶数就打印并返回 test_number // 2,参数test_number 是奇数就返回 test_number * 3 + 1。输入的不是数字就提示:


# 最简单的,不可能的数学问题
def collatz(test_number):
    cond = test_number % 2
    if cond == 0:
      result = test_number // 2
      print(result)
      return result
    else:
      return test_number * 3 + 1

while True:
    try:
      number = int(input("请输入一个整数:"))
      break
    except ValueError:
      print("你输入的不是整数")

while True:
    number = collatz(number)
    if number == 1:
      break

wp231957 发表于 2023-3-24 07:25:49

感觉可以了,这代码不错

long90 发表于 2023-3-25 14:07:09

wp231957 发表于 2023-3-24 07:25
感觉可以了,这代码不错

应该可以继续优化,看着还是觉得有点别扭。
页: [1]
查看完整版本: 如何继续优化