Python编程快速上手——让繁琐工作自动化,第三章实践题答案(新手写的,望大家修改指正。)
3.11.1 Collatz 序列
def collatz(number):
if number % 2 == 0:
even = number // 2
print(even)
return even
elif number % 2 == 1:
uneven = 3*number + 1
print(uneven)
return uneven
integer = int(input("Please enter a integer:"))
while True:
integer = collatz(integer)
if integer == 1:
break
3.11.2 输入验证
def collatz(number):
if number % 2 == 0 and number != 0:
even = number // 2
print(even)
return even
elif number % 2 == 1:
uneven = 3*number + 1
print(uneven)
return uneven
while True:
integer = input("Please enter a integer:")
try:
integer = int(integer)
while True:
integer = collatz(integer)
if integer == 1:
break
break
except ValueError:
print("请输入一个整数")
except TypeError:
print("输入不能是0")
|–|--|
| | |