日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫CS 8編程、代做Python語言程序

時間:2023-12-12  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯


CS 8: Introduction to Computer Science

Fall 2023 Final Project

Due Tuesday, December 12, 11:59PM (California time)

In the game Yahtzee, players try to get particular combinations of five six-sided dice. For

a given turn, they can make up to three rolls: on the first roll, they roll all five dice; on

the second roll, they can choose to re-roll none, any, or all of the dice again; and on the

third roll, they again can choose to re-roll none, any, or all of the dice again. The best

outcome for a given turn is to get what’s called a Yahtzee, in which all five dice have the

same value on them. It doesn’t matter what that value is, just that they are all the same.

Here is an example. For the first roll, say a player gets:

2 4 1 6 4

Let’s say they choose not to re-roll the two dice that were 4’s, but they do re-roll the dice

that were 2, 1, and 6, giving new values for those three dice:

4 3 4

So at this point, after their second roll, the five dice are:

4 4 3 4 4

(Here I’m keeping the dice “in order”: the dice which was previously a 2 is now a 4, the

dice that was previously a 1 is now a 3, and the dice that was previously a 6 is now a 4.

The dice that were previously 4’s stay as 4’s.) For the player’s third roll, they choose to

only re-roll the dice that is a 3, and let’s say it comes up 4. So after the third roll, the

five dice are:

4 4 4 4 4

They all are the same! Yahtzee!

In this final project, you will write Python code to calculate the probability that a player

will get a Yahtzee on a given turn using the following strategy: You always try to get a

Yahtzee with the highest dice value for which you have the largest number of matching

dice. So if your dice are

4 2 4 5 2

you would keep the 4’s, and re-roll the 2’s and the 5.

There is also a related game called Tenzi, in which each player has ten 6-sided dice. On

the first roll, they roll all ten dice. On the second and all subsequent rolls they can choose

1

to re-roll none, any, or all of the dice again. They keep rolling until all ten dice have the

same value on them - a Tenzi! In this final project, you’ll also write Python code to keep

track of how many rolls it takes in order to get a Tenzi.

Please use the following code in order to generate a random integer 1,2,3,4,5, or 6:

import random

def rollDice():

return random.randrange(1,7)

Your main program should prompt the user to either play Yahtzee (by inputting Y), play

Tenzi (by inputting T), or quit (by inputting anything else). This prompt should continue

to be appear until the user quits. If the choice is Y, the user should be prompted to input

the number of trials to simulate for the Monte Carlo simulation and the number of dice

to use. The following should be printed to the shell:

Probability of Yahtzee with X dice: y.yyyy

where X is the number of dice which the user input, and y.yyyy is the probability of

getting a Yahtzee. Use four decimals for printing the probability. If the choice is T, the

user should be prompted to input the number of trials to simulate and the number of dice

to use. The following should be printed to the shell:

Rolls to get a Tenzi with X dice:

{1: Y, 2: Y, 3: Y, 4: Y, 5: Y, 6: Y, 7: Y, 8: Y, 9: Y, 10: Y, ’more than 10’ : Y}

where X is the number of dice which the user input, and the Y’s are the number of times

in the set of trials that it took that many rolls to get a Tenzi.

The following gives an example of running your code:

Note that the numbers you get may differ from these, but this should at least give a good

idea of what you should obtain from your code.

2

You’ll turn in a single Python program called yahtzee.py which includes the code given

above for simulating a dice roll, the main program as described above, and the following functions. Please be sure to include appropriate docstrings and comments for each

function.

• firstRoll : This should take an integer numDice as an input parameter which

tells how many dice you’re using in your game (this will be 5 for Yahtzee and 10

for Tenzi, but your function should be written for a general value for numDice),

and returns a list of length numDice of random integers each obtained by calling

rollDice. For example, the call

firstRoll(5)

will return a list such as

[2,4,1,6,4]

• newRoll : This should take the list diceList and an integer choice as input

parameters. Here diceList is a list of dice rolls, such as [2,4,1,6,4], and choice

is an integer corresponding to the dice value that you’re hoping to get a Yahtzee

with, such as 4. This should return a new list for which all dice which are not equal

to choice are re-rolled. For example, the call

newRoll([2,4,1,6,4],4)

will return a list such as

[4,4,3,4,4]

As in the example above, here the dice which was previously a 2 is now a 4, the

dice that was previously a 1 is now a 3, and the dice that was previously a 6 is now

a 4. The dice that were previously 4’s stay as 4’s.

• createDiceDict : This should take the list diceList as an input parameter, and

return a dictionary for which the keys are the possible roll values 1, 2, 3, 4, 5,

and 6, and the values are the number of times that roll value appears in the list.

For example, the call

createDiceDict([2,4,1,6,4])

will return the dictionary

{1:1, 2:1, 3:0, 4:2, 5:0, 6:1}

3

This captures that the value 1 appears once in the list, the value 2 appears once in

the list, the value 4 appears twice in the list, the value 6 appears once in the list,

and the values 3 and 5 don’t appear in the list.

• mostFrequent : This should take diceDict as an input parameter, which is a

dictionary as generated by the function createDiceDict. This should return the

highest dice value for which you have the largest number of matching dice. For

example, the call

mostFrequent({1:1, 2:1, 3:0, 4:2, 5:0, 6:1})

should return the value 4, because the dictionary encodes that the value 4 appeared

most frequently. Note that the call

mostFrequent({1:0, 2:2, 3:0, 4:2, 5:1, 6:0})

should also return the value 4, because we’re using the strategy that you always

try to get a Yahtzee with the highest dice value for which you have the largest

number of matching dice. This would be the dictionary corresponding to the list

[4,2,4,5,2].

• probabilityYahtzee : This should take integers numTrials and numDice as input

parameters. It will perform a Monte Carlo simulation of numTrials turns in which a

player tries to get all of the numDice dice to match. In each turn, the player will do a

first roll, a second roll if needed, and a third roll if needed. It should return the probability of getting all dice to match in one turn, calcuated from the Monte Carlo simulation. Note that in the game Yahtzee there are five dice, but your function should

be general enough to work for any positive integer value for numDice. Your function

should make calls to the functions firstRoll, newRoll, createDiceDict, and

mostFrequent as needed.

• rollsToGetTenzi : This should take integers numTrials and numDice as input

parameters. It will perform a simulation of numTrials trials to keep track of how

many rolls it takes in order for all of the numDice dice to match. It should return a dictionary whose keys are the numbers of rolls that this takes, specifically,

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and ’more than 10’, and whose values are the

number of times in the numTrials simulations that it took that many rolls. Note

here that if, in a given trial, after 10 rolls the dice do not all match, that trial

should be recorded as ’more than 10’. Note that in Tenzi there are ten dice, but

your function should be general enough to work for any positive integer value for

numDice. Your function should make calls to the functions firstRoll, newRoll,

createDiceDict, and mostFrequent as needed.

The functions firstRoll, newRoll, createDiceDict, and mostFrequent are worth 10

points each. The functions probabilityYahtzee and rollsToGetTenzi, and the main

program are worth 20 points each.

4

Academic Honesty Agreement

This project is open book, open notes. However, all work submitted must be your

own. By submitting these programs, you are asserting that all work on this project is

yours alone; that you did not use ChatGPT, Copilot, or similar AI bots; and that you

will not provide any information to anyone else working on the project. In addition, you

are agreeing that you will not discuss any part of this project with anyone. You are

not allowed to post any information about this project on the internet at any time, either

before or after the due date. Discussing any aspect of this project with anyone constitutes

a violation of the academic integrity agreement for CS8 and would result in an F in the

course.

Please note that you may ask questions about this project to the Professor, the TAs,

and the ULA’s, but we may answer in a limited way because we want to assess your

請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

掃一掃在手機打開當前頁
  • 上一篇:代做553.688 Computing for Applied 程序
  • 下一篇:CSCI1540代做、代寫C++設計編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 trae 豆包網頁版入口 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

      <em id="rw4ev"></em>

        <tr id="rw4ev"></tr>

        <nav id="rw4ev"></nav>
        <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
        国产亚洲一区在线播放| 国产精品国产亚洲精品看不卡15| 玉米视频成人免费看| 欧美日韩日本视频| 国产精品久久久久久福利一牛影视| 欧美国产欧美亚洲国产日韩mv天天看完整| 狠狠色丁香婷综合久久| 久久精品水蜜桃av综合天堂| 国产精品二区三区四区| 美女脱光内衣内裤视频久久影院| 国产亚洲一二三区| 伊人久久婷婷| 亚洲免费观看高清完整版在线观看熊| 亚洲婷婷综合色高清在线| 欧美日韩视频在线观看一区二区三区| 亚洲视频精选| 玖玖在线精品| 欧美激情一区二区三区高清视频| 日韩一区二区精品视频| 国产日韩欧美亚洲| 欧美激情影音先锋| 欧美日韩中文在线| 麻豆精品视频在线| 中文在线资源观看网站视频免费不卡| 久久婷婷激情| 久久亚洲私人国产精品va媚药| 欧美大香线蕉线伊人久久国产精品| 国产亚洲欧美另类一区二区三区| 欧美资源在线| 欧美久久一级| 国产精品你懂的在线欣赏| 欧美日韩系列| 欧美一区二区三区在线免费观看| 黄色成人在线观看| 亚洲综合视频网| 亚洲国产免费看| 国产精品久久久久久久久久尿| 99ri日韩精品视频| 国内精品久久久久久影视8| 免费欧美日韩国产三级电影| 欧美激情黄色片| 欧美视频在线观看一区二区| 欧美一区二区在线免费观看| 亚洲精品在线三区| 亚洲视频网在线直播| 亚洲成人在线免费| 亚洲特色特黄| 黄色日韩网站视频| 欧美激情中文字幕在线| 欧美性色aⅴ视频一区日韩精品| 久久久精品视频成人| 蜜桃av噜噜一区二区三区| 亚洲一区二区三区精品视频| 欧美在线视频一区二区三区| 久久久久久久欧美精品| 国产啪精品视频| 欧美激情亚洲综合一区| 欧美日韩第一页| 亚洲三级影院| 91久久一区二区| 久久国产精品久久w女人spa| 欧美在线视频观看免费网站| 亚洲第一网站| 99国产精品| 久久精品视频va| 激情欧美日韩| 久久久久国产成人精品亚洲午夜| 欧美搞黄网站| 欧美日韩天天操| 正在播放亚洲| 欧美人成网站| 国产亚洲欧美日韩一区二区| 亚洲人成亚洲人成在线观看图片| 在线日韩成人| 美女福利精品视频| 欧美日韩在线综合| 在线看无码的免费网站| 亚洲女人天堂av| 国产精品国产福利国产秒拍| 亚洲国产综合在线| 欧美一区二区三区四区高清| 亚洲免费视频观看| 欧美日韩精品一区视频| 亚洲精华国产欧美| 艳女tv在线观看国产一区| 欧美国产综合视频| 亚洲电影免费在线观看| 欧美一区二区三区四区在线观看| 久久人人九九| 亚洲直播在线一区| 亚洲欧美电影院| 欧美伊人久久大香线蕉综合69| 欧美色一级片| 亚洲乱码国产乱码精品精98午夜| 亚洲国产精品福利| 久久男人av资源网站| 亚洲四色影视在线观看| 欧美电影在线观看完整版| 激情久久五月天| 国产一区在线观看视频| 久久久久成人精品| 一区二区三区欧美亚洲| 亚洲欧美成人一区二区三区| 国产精品亚洲产品| 欧美视频在线观看免费网址| 国产精品亚洲人在线观看| 国产精品一区视频网站| 欧美日韩岛国| 国内外成人在线视频| 欧美午夜精品久久久久久久| 免费日本视频一区| 日韩亚洲视频在线| 国产精品久久久久久影院8一贰佰| 中国成人黄色视屏| 国产欧美不卡| 一区二区视频欧美| 亚洲国产一区二区三区青草影视| 亚洲免费小视频| 国产精品自拍视频| 日韩视频在线一区二区三区| 国产一区二区三区精品久久久| 99精品欧美一区二区三区综合在线| 欧美精品在线免费| 午夜精品免费| 一本大道久久a久久精品综合| 亚洲一区二区欧美日韩| 黄色成人免费网站| 亚洲另类在线视频| 黄色亚洲网站| 国产一区二区高清不卡| 亚洲私人影吧| 亚洲第一区在线观看| 日韩小视频在线观看| 国产精品视频成人| 亚洲人成精品久久久久| 久久精品国产第一区二区三区最新章节| 亚洲欧美日韩一区二区| 亚洲激情一区二区| 久久国产精品久久国产精品| 亚洲精品国产欧美| 国产老肥熟一区二区三区| 欧美另类变人与禽xxxxx| 精品动漫一区| 亚洲国产精品电影在线观看| 尤物精品国产第一福利三区| 亚洲春色另类小说| 国产自产在线视频一区| 老司机凹凸av亚洲导航| 亚洲视频视频在线| 免费观看日韩| 久久综合999| 国产精品欧美日韩久久| 麻豆国产精品va在线观看不卡| 欧美激情自拍| 欧美福利视频| 韩国免费一区| 日韩午夜av电影| 欧美日韩免费一区二区三区视频| 国产精品日韩欧美一区二区| 99re6热只有精品免费观看| 国产亚洲精品资源在线26u| 亚洲国产精品成人va在线观看| 亚洲国产视频一区| 久久久久高清|