如果你感觉有收获,欢迎给我打赏 ———— 以激励我输出更多优质内容
练习一:
运算规则如下:
(1) 若该数是偶数,,则变为原数的一半
(2) 若该数是奇数,则变为原数的3倍加1
(3) 重复 (1) (2),直到该数变为1。
编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数并输出变换次数。 (输出格式为: 直接输出次数即可)
示例1: 若输入自然数8,则输出结果为: 3。
示例2: 若输入自然数5,则输出结果为: 5。
答案:
ci=0 #ci变量来存放运行次数
n=int(input('请输入一个大于1的自然数:')) #变量n来存放用户输入的值
while True: #重复执行
if n==1: #判断n是否为1
print(ci) #打印出次数
break #跳出循环
else:
if n%2==0: #若该数是偶数,,则变为原数的一半
n=n/2
else:
n=3*n+1 #若该数是奇数,则变为原数的3倍加1
ci+=1 #ci变量累加1 类似ci=ci+1
输出案例:
练习二:
某快递公司对于邮寄的包裹有尺寸要求,必须满足以下条件:每件包裹的长、宽、高之和须小于或等于200厘米,
且任意一边长度必须小于或等于80厘米(假设所有包裹都是长方体)
编写一个重复执行的程序,可以实现自动判断包裹是否符合要求。
体要求如下:
(1)用户以厘米为单位按顺序分别输入包裹的长、宽、高(用户只输入大于零的数字,不输入长度单位
可以输入小数:分多次输入还是一次输入不做要求);
(2)程序自动判断用户输入的包裹尺寸是否满足此快递公司的要求;
(3)如果满足要求,就输出"可以邮寄".
(4)如果不满足要求,就输出"不可以邮寄”
(5)重复以上操作。
答案:
while True:
d = eval(input('请输入包裹的长:')) #使用变量d来存放用户输入的长度值
w = eval(input('请输入包裹的宽:')) #使用变量w来存放用户输入的宽度值
h = eval(input('请输入包裹的高:')) #使用变量h来存放用户输入的高度值
if (d+w+h)<=200 and (d<=80 and w<=80 and h<=80): #判断是否符合上述要求
print('可以邮寄')
else:
print('不可以邮寄')
输出案例: