助けを探して、ちょうど今日のPythonを始めています。 (3.0)
-
23-08-2019 - |
質問
私はちょうどのpythonに取得しようとしていますが、私はそれが非常に難しいのPython 3.私がこれまで持っているすべてをdiveintopython3.orgされており、その制限されているすべてのリソースを見つけることがわかりました。とにかく、私はいくつかの非常に基本的なものを実行して、言語の感触を取得しようとしていたが、私はこの小さなプログラムは、私は2つの数値を追加することである、つもりは何をしないだろう理由を把握することはできません。私は誰かがここでそれを修正する方法を知っているが、Pythonの3のチュートリアルが含まれている任意の他のリソースが大幅に高く評価されるだろうと確信しています:
def add(num=0,num2=0):
sumEm = (num+num2)
print (sumEm)
if __name__ == '__main__':
num = input("Enter a number: ")
num2 = input("Enter a number: ")
add(num,num2)
出力:
Enter a number: 23
Enter a number: 24
23
24
解決
。言語の違いを比較対照することができますブックの2.Xバージョンもあります。
あなたの問題を解決するには、整数に入れ、入力を変換する必要があります。これは、デフォルトでは、文字列として格納されています。
num = int(input("Enter a number: "))
num2 = int(input("Enter a number: "))
他のヒント
あなたはを何も言わなかったは取得しない - 私は<のhref = "http://docs.python.org/3.0/library/として、num
とnum2
連結を推測していますfunctions.html#入力」のrel = "nofollowをnoreferrer">文字列を返しますのinput
。 2つの文字列を追加すると、ちょうどそれらを連結します。あなたが整数を表現するためにnum
とnum2
が予想される場合は、 int
を使用することができます整数に文字列を変換するには:
num = int(input("Enter a number:")
num2 = int(input("Enter a number:")
そして、あなたはおそらくより良い結果を得ることができます。そこに、より良いエラーチェックのための余地はまだだが、これはあなたが始めることがあります。
しようとするもうひとつ - このようなあなたの__main__
の末尾に行を追加します:
add(4, 3)
と印刷されますかを参照してください。これは、障害がadd
にしたり、入力ルーチンであるかどうかを教えてくれます。
もちろん、それのどれもリソースをご提供していない - オンラインドキュメントが助けていないですか?お持ちでない場合、私は、チュートリアルので開始したいです。
、興味深い3件の回答、およびそれらのどれも正しく問題を解決します。
あなたがしなければならないのはこれです:
def add(num=0,num2=0):
sumEm = (int(num)+int(num2)) # may need the int() because in python 3.0 the manual says it only returns strings
return sumEm # use return here not print
あり「のPython 3でのプログラミング」と呼ばれるマーク・サマーにより、アディソン・ウェスリーの本だ、と私はそれが私が読んだ最高のPythonの本であることがわかってきました。あなたは、私が想像のための一つの良いところは、サマーは2.xおよび3.xとの違いをもたらすことはありません、これだけのPythonを拾って誰かが(新しい改良)のPythonの途切れないビューを取得することです。 (と思う)虚偽表示のいずれか--- 1.xから私の場合には---彼は他の本という事を説明していることをこれに追加触れることはありませんか。開梱事業者が私のためにかなりの精神的な霧をクリアしてカスタム例外上の段落では、ちょうど**ジャムの外に私を得た、と*の彼の治療と。一流のブックます。
ところで、有益なことを行い、SYSと呼ばれるモジュールがあります、のようなコマンドライン引数にアクセスしてみましょう。これらの引数は、(サブ)の文字列で、コメンターが使用するためにそれらを置くために、言うdkbitsように、他の日、私は、)(int型を使用する必要がありました。 (タイプ()関数はPythonは変数があることを考えるものの種類を示します。)私が持っています:
import sys
#Parse the command line.
if len(sys.argv) != 4:
print "Usage: commandName maxValueInCell targetSum nCellsInGroup"
exit()
else:
maxv = int( sys.argv[1])
tgt = int( sys.argv[2])
nc = int( sys.argv[3])
print "maxv =",maxv, "; tgt = ",tgt, "; nc = ",nc
print type(sys.argv[1]) #strings
print type(sys.argv[2])
print type(sys.argv[3])
print type(maxv) #ints
print type(tgt)
print type(nc)