首页 > 解决方案 > 从列表随机python打印整数

问题描述

我有一个小问题,当我在列表中输入相同的数字时,我生成随机数到 50 个列表后,它不会打印“找到匹配”。它总是会向我发送“未找到匹配项”。你们能解释一下代码有什么问题吗?

import random

mylist=[]

for i in range (50):
 x= random.randint(100,999)
 mylist.append(x)

print(mylist)

p = input('Enter an integer number: ')

for i in range(len(mylist)):
    if p == mylist[i]:
        print('Match found at position')
        break
else:
    print('no match found')

输出示例

[836, 569, 378, 788, 847, 584, 404, 159, 362, 271, 151, 100, 702, 414, 867, 213, 194, 553, 946, 930, 777, 143, 143, 879, 724, 752, 431, 416, 944, 509, 752, 211, 713, 951, 882, 836, 710, 998, 447, 892, 720, 210, 364, 768, 603, 456, 540, 727, 346, 153]
Enter an integer number: 836
no match found
>>> 

我刚开始学习编码,所以如果你们能解释一下,我很乐意理解以供将来参考:)

标签: pythonlistrandominput

解决方案


int() 使用然后打印匹配的索引对您的输入进行类型转换

import random

mylist=[]

for i in range (50):
 x= random.randint(100,999)
 mylist.append(x)

print(mylist)

p = input('Enter an integer number: ')

for i in range(len(mylist)):
    if int(p) == mylist[i]:
        print('Match found at position ' + str(i))
        break
    else:
        print('no match found')

推荐阅读