using System;
namespace SeventhConsoleProject
{
class MainClass
{
public static void Main(string[] args)
{
Random NumGen = new Random();
int diceRoll = 0; // The variable used to roll the dice
int attempts = 0; // The amount of times it takes Tom to get a 6
int amountmodifier = 10; //To edit the amount of times that the program loops so that I can get a more accurate average
Console.Write ("Tom wants to roll a dice multiple times and see how long it takes to get a 6.\nTom wants to get the average of " + amountmodifier + " successful attempts ");
Console.ReadKey();
Console.WriteLine();
for (int amount = 1; amount <= amountmodifier; amount++) {
while (diceRoll != 6) {
diceRoll = NumGen.Next (1, 7);
attempts++;
}
}
int averageafter = attempts/amountmodifier;
Console.WriteLine ("Over " + amountmodifier + " successful attempts it took Tom an average of " + averageafter + " attempts to get a 6");
Console.ReadKey();
}
}
}
我剛剛在他的關於c#的教程系列中觀看了Brackey的第7個視頻。我正試圖完成他在評論中留下的挑戰。for while while loop confusion from brackeys第7個教程視頻
最初的任務是創建一個程序,其中「湯姆」擲骰子,他不斷滾動骰子,直到他得到6.然後,用戶會被告知有多少次「湯姆」在他得到6之前擲骰子。我想出了這個部分。
但是,挑戰的一部分是你必須弄清楚如何找到10次「湯姆」滾動6次的成功嘗試的平均值。這部分讓我感到困惑。我的代碼背後的邏輯是,for循環將重複10次或更改變量amountmodifier
爲的任意次數。每次for循環經過它的循環時,它都會經過一個while循環,直到「Tom」滾動一次6,然後「Tom」滾動一個6 while while循環將退出並且for循環將運行另一次,重複10次。
我的想法是,在for循環完成後,「嘗試次數」將包含10次成功嘗試的信息,它將除以amountmodifier
以創建這些嘗試的平均值。但它不會工作。從我可以得出的結論要麼循環不重複10次或attempts
數量不斷重置。我不明白爲什麼。如果有人會解釋我真的很感激。
謝謝Soviut編輯我的問題,使其更易於閱讀。這真的很棒! – Skullgrabber