import random def decision(): number1 = int(input("Enter in a 3 digit password (numbers only): ")) number2 = int(input("Enter in a 4 digit password (numbers only): ")) number3 = int(input("Enter in a 5 digit password (numbers only): ")) number4 = int(input("Enter in a 6 digit password (numbers only): ")) numax = int(input("Enter in max iterations: ")) leng1= len(str(number1)) leng2= len(str(number2)) leng3= len(str(number3)) leng4= len(str(number4)) counts1 = [] for i in range(10): guess1 = 0 count1 = 0 while (guess1 != number1): guess1 = random.randint(10**(leng1-1),(10**leng1-1)) count1 += 1 if count1 == numax: break counts1.append(count1) counts2 = [] for i in range(10): guess2 = 0 count2= 0 while (guess2 != number2): guess2 = random.randint(10**(leng2-1),(10**leng2-1)) count2 += 1 if count2 == numax: break counts2.append(count2) counts3 = [] for i in range(10): guess3 = 0 count3 = 0 while (guess3 != number3): guess3 = random.randint(10**(leng3-1),(10**leng3-1)) count3 += 1 if count3 == numax: break counts3.append(count3) counts4 = [] for i in range(10): guess4 = 0 count4 = 0 while (guess4 != number4): guess4 = random.randint(10**(leng4-1),(10**leng4-1)) count4 += 1 if count4 == numax: break counts4.append(count4) result1 = sum(counts1)/len(counts1) result2 = sum(counts2)/len(counts2) result3 = sum(counts3)/len(counts3) result4 = sum(counts4)/len(counts4) counts1 = [] counts2 = [] counts3 = [] counts4 = [] print("FOR 10 TESTS, the average number of iterations to find password are: ") print("3 DIGIT PASSWORD: " + str(result1) + " iterations") print("4 DIGIT PASSWORD: " + str(result2) + " iterations") print("5 DIGIT PASSWORD: " + str(result3) + " iterations") print("6 DIGIT PASSWORD: " + str(result4) + " iterations")
簡単な質問ですいません。明日提出の課題なのでできればサンプルコードを見せていただけるとありがたいです。functionを使ってコードを短く簡略化したいのですが、どのようにすればよいでしょうか?
同じパターンが繰り返し現れるところを関数にすればいいと思いますが、課題は自分でやらないと意味がありませんよ。
ルール確認して出直してこよう
https://teratail.com/help/avoid-asking
コードをください・デバッグしてください等の丸投げの質問
何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。
サンプルコードがたくさんあるサイト
https://docs.python.org/ja/3.9/
課題とのことですが、正しく動作するのであれば多少冗長でも良いのではないですか?
また、コードの内容を簡単には説明すべきではないでしょうか?
質問のコードに与えるテストデータをいくつか提示してもらえませんか?
(問題発言のため、削除)