日韩精品一区二区三区高清_久久国产热这里只有精品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++設計編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 酒店vi設計 deepseek 幣安下載 AI生圖 AI寫作 aippt AI生成PPT 阿里商辦

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

    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>
        国产亚洲福利| 国产欧美日韩精品专区| 国产精品久久久久久久久久三级| 欧美成人a视频| 99riav国产精品| 久久精彩视频| 麻豆精品一区二区综合av| 欧美精品一区二区三区一线天视频| 久久精品女人的天堂av| 午夜精品久久久久久久99樱桃| 国产一区二区三区最好精华液| 亚洲免费视频成人| 午夜精品久久久久久久蜜桃app| 亚洲另类视频| 久久九九国产精品怡红院| 亚洲午夜未删减在线观看| 欧美国产一区二区| 国产午夜精品福利| 欧美激情在线观看| 国产精品久久久久久久久久三级| 一区二区三区在线不卡| 亚洲精品美女久久久久| 午夜精品久久久久久久| 欧美日韩视频免费播放| 快射av在线播放一区| 一本色道久久加勒比88综合| 麻豆av福利av久久av| 国产视频在线观看一区二区| 免费看精品久久片| 狠色狠色综合久久| 国产主播一区二区| 两个人的视频www国产精品| 午夜精彩视频在线观看不卡| 欧美日韩四区| 欧美成人免费播放| 国产视频精品网| 99热精品在线观看| 在线视频欧美一区| 欧美激情导航| 国产精品欧美日韩一区二区| 亚洲国产成人精品久久久国产成人一区| 久久五月天婷婷| 亚洲国产女人aaa毛片在线| 性做久久久久久免费观看欧美| 欧美精品色综合| 激情婷婷欧美| 亚洲日本中文字幕免费在线不卡| 亚洲日本免费电影| 亚洲三级国产| 一区二区动漫| 亚洲第一伊人| 国产区日韩欧美| 1024成人网色www| 欧美三级在线播放| 亚洲国产精品一区二区尤物区| 国产精品免费视频观看| 亚洲欧美中文日韩v在线观看| 欧美一区二区三区视频在线| 麻豆精品一区二区av白丝在线| 亚洲国产乱码最新视频| 亚洲精品久久久一区二区三区| 亚洲图片欧洲图片日韩av| 欧美四级在线| 国一区二区在线观看| 伊人成年综合电影网| 欧美高清视频在线| 欧美精品福利在线| 午夜综合激情| 久久美女艺术照精彩视频福利播放| 欧美日产国产成人免费图片| 亚洲欧美日本国产专区一区| 欧美丝袜一区二区三区| 久久综合中文字幕| 亚洲精品久久久久久久久久久| 在线视频你懂得一区二区三区| 亚洲一区二区四区| 欧美三级在线| 国产精品毛片高清在线完整版| 欧美日韩一区二区三区在线视频| 国产一区成人| 国产精品都在这里| 国产精品女人毛片| 艳妇臀荡乳欲伦亚洲一区| 亚洲午夜女主播在线直播| 一区二区视频欧美| 好吊色欧美一区二区三区四区| 亚洲午夜久久久久久久久电影网| 久久精品久久99精品久久| 日韩视频一区| 欧美精品日韩一区| 国产一区二区三区久久| 欧美日韩一区在线视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲精品一区二区在线| 亚洲看片一区| 欧美日韩在线影院| 国产精品日韩精品欧美在线| 欧美不卡视频一区发布| 99国产精品久久久久久久成人热| 欧美极品aⅴ影院| 久久综合狠狠| 小黄鸭精品aⅴ导航网站入口| 欧美1区2区3区| 欧美日韩天天操| 精品999网站| 亚洲手机在线| 美国十次了思思久久精品导航| 亚洲一区二区三区在线播放| 91久久精品一区二区三区| 毛片一区二区三区| 久久久欧美精品sm网站| 亚洲精品免费电影| 久久综合五月天婷婷伊人| 欧美日韩国产首页在线观看| 欧美日韩视频一区二区| 一区二区免费在线观看| 欧美视频在线观看| 国产精品社区| 亚洲国产精品成人| 在线播放视频一区| 亚洲高清不卡在线| 亚洲福利视频一区二区| 国产精品成人一区| 亚洲日本中文字幕区| 欧美黄色大片网站| 在线观看日韩一区| 国产精品久久久久77777| 国产欧美日韩一区二区三区在线观看| 久久综合久久88| 欧美一区国产在线| 欧美日韩专区在线| 亚洲毛片在线观看| 欧美久久久久久久| 欧美人成免费网站| 精品999成人| 女生裸体视频一区二区三区| 亚洲欧美日韩久久精品| 性高湖久久久久久久久| 欧美精品入口| 久久精品视频在线播放| 欧美日韩91| 亚洲精品一区二区三区樱花| 亚洲第一色在线| 欧美二区在线观看| 一二三区精品福利视频| 欧美国产亚洲另类动漫| 国产丝袜一区二区| 亚洲福利一区| 蜜桃久久av一区| 国产精品日韩久久久久| 在线观看视频一区二区欧美日韩| 欧美r片在线| 久久夜色精品国产亚洲aⅴ| 久久久亚洲高清| 欧美激情一区二区三区| 亚洲精品欧美在线| 亚洲精品综合精品自拍| 蜜月aⅴ免费一区二区三区| 亚洲视频一区在线观看| 一本色道婷婷久久欧美| 午夜精品久久久久久99热软件| 久久婷婷人人澡人人喊人人爽| 国产视频一区在线观看一区免费| 国产日韩欧美一区二区三区在线观看|