日韩精品一区二区三区高清_久久国产热这里只有精品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>
        亚洲另类在线视频| 性欧美大战久久久久久久免费观看| 久久这里有精品视频| 欧美视频观看一区| 国产精自产拍久久久久久蜜| 国内精品美女av在线播放| 亚洲欧美成人在线| 国产日韩av高清| 亚洲乱码国产乱码精品精可以看| 欧美午夜精品理论片a级按摩| 国产精品美女在线| 榴莲视频成人在线观看| 玖玖国产精品视频| 国产精品综合| 欧美一区激情| 亚洲国产欧美一区| 亚洲精品1区2区| 午夜一区二区三区不卡视频| 久久久久成人精品免费播放动漫| 国产情人综合久久777777| 久久aⅴ乱码一区二区三区| 欧美成人免费大片| 欧美xart系列在线观看| 亚洲一区www| 国产精品乱码人人做人人爱| 日韩一级欧洲| 樱桃成人精品视频在线播放| 亚洲国产精品久久久久秋霞蜜臀| 激情久久久久久| 欧美精品一区二区久久婷婷| 久久xxxx| 欧美成人午夜剧场免费观看| 久久久亚洲欧洲日产国码αv| 国产一区二区三区电影在线观看| 影音先锋中文字幕一区二区| 亚洲一线二线三线久久久| 在线不卡中文字幕播放| 亚洲欧洲精品一区二区精品久久久| 国产精品久久久久免费a∨| 国产乱人伦精品一区二区| 一区二区三区四区五区在线| 久久超碰97中文字幕| 麻豆精品在线视频| 亚洲激情在线观看视频免费| 欧美精品尤物在线| 一区二区三区|亚洲午夜| 亚洲成人在线视频播放| 欧美日韩在线亚洲一区蜜芽| 性色一区二区三区| 日韩视频一区二区三区| 欧美永久精品| 欧美激情aⅴ一区二区三区| 日韩视频亚洲视频| 激情六月婷婷久久| 欧美在线一区二区三区| 国产精品日韩欧美一区二区| 国产乱子伦一区二区三区国色天香| 在线观看欧美| 国产精品免费观看在线| 亚洲精品久久在线| 国产精品每日更新在线播放网址| 亚洲二区视频在线| 欧美日韩在线亚洲一区蜜芽| 亚洲三级影院| 亚洲欧美中日韩| 一区二区三区在线不卡| 亚洲免费精品| 国产伦精品一区二区三区四区免费| 国产亚洲精品久久久久婷婷瑜伽| 黄色另类av| 麻豆乱码国产一区二区三区| 久久久蜜桃精品| 免费久久久一本精品久久区| 99精品视频免费全部在线| 国产精品一区一区三区| 欧美福利在线| 亚洲一区二区三区免费视频| 久久亚洲综合| 欧美网站在线观看| 亚洲欧美久久| 亚洲人成网站色ww在线| 亚洲丰满少妇videoshd| 国产精品久久久久婷婷| 激情综合色丁香一区二区| 在线不卡视频| 午夜性色一区二区三区免费视频| 伊人精品成人久久综合软件| 欧美主播一区二区三区| 噜噜噜91成人网| 欧美视频专区一二在线观看| 欧美另类极品videosbest最新版本| 国内精品久久久久国产盗摄免费观看完整版| 欧美片在线观看| 亚洲国产精品成人久久综合一区| 欲色影视综合吧| 性色av一区二区怡红| 欧美三级电影网| 性久久久久久久久| 国产综合久久久久久| 欧美日本国产在线| 欧美午夜影院| 国产一区二区三区免费在线观看| 欧美日韩亚洲激情| 欧美一级午夜免费电影| 久久久久久久激情视频| 亚洲国产精品一区二区第一页| 午夜久久黄色| 一本久道久久综合狠狠爱| 欧美大片va欧美在线播放| 一本在线高清不卡dvd| 欧美另类高清视频在线| 亚洲承认在线| 夜夜爽99久久国产综合精品女不卡| 欧美性色视频在线| 一本色道久久综合狠狠躁篇的优点| 久久精品动漫| 国产综合久久久久久| 国产精品美女久久久久久免费| 国产精品久久婷婷六月丁香| 久久久久久久综合日本| 亚洲高清在线视频| 欧美黑人一区二区三区| 国产综合久久久久久鬼色| 久久精品视频导航| 亚洲免费一在线| 在线日韩电影| 欧美日韩国产美| 欧美极品一区二区三区| 欧美大片网址| 欧美三级网址| 亚洲日本视频| 久久av一区| 最新热久久免费视频| 国产精品视频你懂的| 亚洲高清一区二| 亚洲国产精品专区久久| 免费影视亚洲| 午夜精彩国产免费不卡不顿大片| 亚洲国产精品va在线看黑人动漫| 欧美午夜大胆人体| 在线一区欧美| 午夜宅男久久久| 一区二区三区在线视频观看| 亚洲天堂网在线观看| 欧美日本簧片| 午夜伦欧美伦电影理论片| 狠狠综合久久av一区二区老牛| 狠狠久久亚洲欧美| 亚洲一区视频在线观看视频| 老司机精品视频网站| 免费在线播放第一区高清av| 欧美日韩四区| 亚洲视频久久| 亚洲欧美在线观看| 亚洲综合不卡| 一区二区日韩欧美| 欧美激情国产日韩| 国内精品福利| 在线电影欧美日韩一区二区私密| 亚洲精品欧洲| 国产免费成人在线视频| 中国成人黄色视屏| 在线视频中文亚洲| 国内成+人亚洲|