私はPythonの初心者です。私はそれを学び始めたいと思います。ここでは、C#で書いた少しのコードを書き直そうとしています。Pythonのループで、仕事はしません。
import array
def countFactorial(tal):
summ = 1
for i in range(len(tal)):
summ *= i
i += 1
print("{} is".format(tal))
print("{}".format(summ))
return summ
def main():
lst = []
for i in range(5):
values = input("Type in a value: ")
lst.append(values)
for s in lst:
countFactorial(s)
# print(s)
main()
ユーザは、例えば6のために入力したい場合、これが今のプログラムが出て入力しますものです::プログラムは、私が6で入力した場合、それは720になるので、これは、Pythonのコードで、階乗カウント"6は0"(5回)です。
これは、ここで動作しないC#から書き直そうとしたforループの一部です。明らかに「タル」はC#でパラメータとして渡されます。
for (int i = 1; i <= tal; i++)
{
summ *= i;
}
Console.WriteLine(tal + " is " + summ);
私が必要と思うのは、例えば6回のようにサンドコードトラフをランディングする必要があるwhileループです。私はこれを試してみましたが、うまくいきません。
をcountFactorial'変更 'で...'と'i + = 1 'に一度入ると、2回目の変更は失われます。 –
@finitegraygreenまあ、そこに作成しようとしたのは、あなたがC#コードで知っているように(あなたがC#を知っていれば)でした。 "whileループ"のように、 "i"を "tal"と等しくなるまで増やしたい場合は – kastravec
また、数字(文字列)として 'tal'の* length *を使用しているので、*桁数*をループ値として使用します。 –