2017-11-30 6 views
-1
#test 
import subprocess 
import time 
import random 
programClass=[] 
code=random.randint(100,1000) 
print('This is your secret code! PLEASE WRITE THIS DOWN!') 
print(code) 
numRafflePeople=0 

tester=1 
while tester==1: 
    code1=input('What is your name, phone number, and email?\n') 
    print('code',code1) 
    code=code 
    if code==code1: 
     print('Blah') 
     time.sleep(5) 
     tester=2 
    else: 
     print('fail') 
     tester=1 

このプログラムは乱数を作成し、入力された数値が乱数と同じかどうかを確認しますプログラムは同じではないと識別することができないようです。Pythonプログラムでランダムな整数にコードを割り当て、ユーザー入力が機能していないことを確認します

乱数は303のようになります。私は303を入力し、失敗メッセージが表示されます。誰かが私のコードでエラーを説明できますか?

+0

[MCVE]を作成してみてください。 –

+1

[入力を整数として読み取るにはどうしたらよいですか?](https://stackoverflow.com/questions/20449427/how-can-i-read-inputs-as-integers) ) –

+0

私の望む答えが得られました。私の大きなプロジェクトではwhileループが必要ですが、それは大きいようです。 – QuestionedE

答えて

3

、ユーザが入力を与え、CODE1は、文字列になります。コードは整数です。

ブール値、コード== code1の2つを比較すると、常にfalseになります。

だけのように変更します。

code1=int(input('What is your name, phone number, and email?\n')) 
1

あなたはintに、あなたの入力を変換する必要があります。

import time 
import random 

code = random.randint(100,1000) 
print('This is your secret code! PLEASE WRITE THIS DOWN!') 
print(code) 

tester = 1 
while tester == 1: 
    code1 = int(input('What is your name, phone number, and email?\n')) 
    print('code', code1) 
    if code == code1: 
     print('Blah') 
     time.sleep(5) 
     tester = 2 
    else: 
     print('fail') 
     tester = 1 
+0

ありがとう!私は 'str'と' int'入力の両方を受け入れることができると期待していました、それは可能ですか? – QuestionedE

+0

@Ques 'input()' **常に**はPython3で 'str'を返します –

+0

この' 'input( '___')'質問を通して 'str'と' int'の両方の入力を受け入れることができますか? – QuestionedE

関連する問題