芝士雪豹 发表于 2022-9-16 22:48:58

求助

import random
number=int(input("请输入一个待匹配的整数:"))

t=0
n=1
a=[[]]*88
b=[]
for i in range(88):
    while n<=88:
      x=random.randint(0,1024)
      b.append(x)
      n+=1
    a=b

for o in range(88):
    for p in range(88):
      if a==number:
            print(o,p)
            t=1
      else:
            continue

if t==0:
    print("列表中找不到与之匹配的元素。")



不知道几率太小还是代码有问题,只找到匹配过一次,求帮助{:10_266:}

临时号 发表于 2022-9-16 22:55:43

代码看上去好像没问题,几率太小了吧

芝士雪豹 发表于 2022-9-16 23:05:17

临时号 发表于 2022-9-16 22:55
代码看上去好像没问题,几率太小了吧

但是小甲鱼的只要输入数字都能匹配到好几个{:10_266:}

临时号 发表于 2022-9-16 23:11:51

芝士雪豹 发表于 2022-9-16 23:05
但是小甲鱼的只要输入数字都能匹配到好几个

找到问题了
import random

t=0
n=1
a=[[]]*88
b=[]
for i in range(88):
    while n<=88:
      x=random.randint(0,1024)
      b.append(x)
      n+=1
    a=b
    b=[]
    n=1
number=int(input("请输入一个待匹配的整数:"))
for o in range(88):
    for p in range(88):
      if a==number:
            print(o,p)
            t=1
      else:
            continue

if t==0:
    print("列表中找不到与之匹配的元素。")

芝士雪豹 发表于 2022-9-16 23:12:56

临时号 发表于 2022-9-16 23:11
找到问题了

我焯恍然大悟了,谢谢{:10_266:}

jackz007 发表于 2022-9-16 23:27:44

import random

b = [ for j in range(88)]
number = int(input("请输入一个待匹配的整数 (0 ~ 1024):"))
if 0 <= number <= 1024:
    c = 0
    for i in range(len(b)):
      for j in range(len(b)):
            if b == number:
                print('%2d , %2d' % (i , j))
                c += 1
    if not c:
      print("列表中找不到与之匹配的元素。")
else:
    print('数值超出有效范围。')
页: [1]
查看完整版本: 求助