如何在輸入函式中匹配隨機生成的數字?我的 if 和 else 陳述句沒有運行,因為即使我輸入了亂數,它們也不匹配。下面是我的代碼。
import random
randomNumber=[]
length_randomNumber = 6
for i in range(length_randomNumber):
randomNumber.append(random.randint(0,9))
print(randomNumber)
x = input("Enter the 6 generated number :")
if x == randomNumber:
print("x and random number matched!")
else:
print("x don't matched with the random number!")
uj5u.com熱心網友回復:
這里出現問題是由于x = input("Enter the 6 generated number :"). 這里的 x 是字串型別的。
你可以做的是:
for i in range(length_randomNumber):
randomNumber.append(random.randint(0,9))
print(randomNumber)
x = input("Enter the 6 generated number, seperated by commas :")
x = [int(y) for y in x.split(",")]
if x == randomNumber:
print("x and random number matched!")
else:
print("x don't matched with the random number!")
在這里,您將輸入轉換為整數陣列并進行比較。上面我們使用串列推導來做到這一點。
uj5u.com熱心網友回復:
試試這個……你的 x 默認是字串,所以需要先轉換成整數……第二件事是 randomNumber 是一個串列,所以條件應該是 randomNumber 中的 x;
import random
randomNumber=[]
length_randomNumber = 6
for i in range(length_randomNumber):
randomNumber.append(random.randint(0,9))
print(randomNumber)
x = input("Enter the 6 generated number :")
if int(x) in randomNumber:
print("x and random number matched!")
else:
print("x don't matched with the random number!")
uj5u.com熱心網友回復:
randomNumber 變數是一個串列而不是整數,如果您嘗試檢查輸入的值是否存在于該亂數串列中,則將 if 條件更改為:
if int(x) in randomNumber
如果您試圖形成一個 6 位亂數,這不是正確的生成方式。
uj5u.com熱心網友回復:
你的 randomNumber 是串列,你可以使用 operator in 來檢查它。并將 x first 轉換為整數。如下所示:
import random
randomNumber=[]
length_randomNumber = 6
for i in range(length_randomNumber):
randomNumber.append(random.randint(0,9))
print(randomNumber)
x = input("Enter the 6 generated number :")
if int(x) in randomNumber:
print("x and random number matched!")
else:
print("x don't matched with the random number!")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/510377.html
