python实现从1到30查找数字19

1.普通方法:

n=int(input("Enter the number you want to find>>"))
if n>30 or n<1:#判断输入的数字是否符合要求
    print("Tips:Inviald input!!!")
else:#符合要求的数字进行判断
    sum=0
    for i in range(1,31):
        sum += 1
        if sum == n:
            print(n)

运行结果如图所示:

1b2d256083c148cfb49d9a9e09b2451b.png

2.用概率机查找

代码如下:

import random

a=int(input("Please enter an initial number>>"))#标明初始位置
b=int(input("Please enter the number you want to find>>"))#输入目标位置
if a>30 or a<1 or b>30 or b<1:#判断输入的数字是否在有效区间内
    print("Tips:Invaild input!!!")
else:
    while True:
        m=random.randint(0,1)#随机生成整数0或1代表硬币投掷正反面
        if m == 0:#如果是0就后退一步
            s = a - 1#s代表移动后的位置
        else:#如果是1就前进一步
            s = a + 1
        a = s#每循环一次就更新一次初始位置
        if s==b:#当移动到目标位置时停止循环
            break
    print(s)#输出最后到达的位置

运行结果如下:

16ae66b3b17a485f9d2e81558385ee66.png 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值