2016-04-04 8 views
0
print("text") 
print("text") 
name=str(input("text")) 
name=name.capitalize() 
tutorial=str(input(print(name,"do you know the rules? (YES/NO)",sep=", "))) 
tutorial=tutorial.upper() 

私のコードでエラーが見つかりません。私がそれを実行するたびに、 "None"はどこからも出てこない。 (それはより簡単に読み取ることができるように、コードの一部を置き換え)「なし」がコード内でどこにも表示されない

Name? >>>HAL 9000 
Hal 9000, do you know the rules? (YES/NO) 
None #This I want to erase 

答えて

1

あなたの問題は、この行である:

tutorial=str(input(print(name,"do you know the rules? (YES/NO)",sep=", "))) 

あなたが入力内の不要なprintを持っているので、あなたはそのNoneを取得しています。 inputは、その戻り値であるprintを使用しています。何も返されないので、デフォルトではNoneになります。 printメソッドの中で送信しているものを出力する明白な機能printのために、内部にあるものがまだ表示されています。

見るあなたの問題を複製し、この例:

>>> input(print('bob')) 
bob 
None 
'' 
>>> 

この問題を解決するには、その印刷を削除します。また、文字列formatを使用するようにinput内の文字列を変更します。それはNoneを返すとして扱われますので

tutorial=str(input("{} do you know the rules? (YES/NO)".format(name))) 
0

printは、値を返しません。つまり、入力を求める前にinput(None)に "None"と表示されることになります。

関連する問題