99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務合肥法律

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

時間:2023-12-12  來源:合肥網(wǎng)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++設計編程
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優(yōu)化
    急尋熱仿真分析?代做熱仿真服務+熱設計優(yōu)化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發(fā)動機性能
    挖掘機濾芯提升發(fā)動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現(xiàn)代科技完美結(jié)合
    海信羅馬假日洗衣機亮相AWE 復古美學與現(xiàn)代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 豆包 幣安下載 AI生圖 目錄網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務 | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          亚洲区一区二区三区| 正在播放欧美视频| 亚洲欧洲一区二区在线观看| 最近中文字幕日韩精品| 99riav1国产精品视频| 亚洲在线免费视频| 久久黄色网页| 欧美精品成人| 国产免费亚洲高清| 在线不卡中文字幕播放| 亚洲精品自在久久| 午夜精品久久久久久久男人的天堂| 欧美中在线观看| 另类国产ts人妖高潮视频| 欧美精品一区在线| 国产日韩欧美不卡在线| 在线观看不卡| 亚洲欧美激情四射在线日| 久久久久久久一区二区| 欧美日韩一区二区欧美激情| 国产日韩av在线播放| 亚洲国产欧美一区| 西西人体一区二区| 欧美激情亚洲一区| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲免费观看在线视频| 亚洲视频在线免费观看| 性色av香蕉一区二区| 欧美成人中文字幕在线| 国产日韩欧美在线播放| 亚洲美女在线观看| 久久综合综合久久综合| 国产精品无码专区在线观看| 亚洲欧洲日本一区二区三区| 欧美在线综合视频| 欧美天天视频| 日韩五码在线| 蜜臀久久久99精品久久久久久| 国产精品香蕉在线观看| 一区二区三区视频观看| 欧美黄色小视频| 红桃视频欧美| 久久成人免费电影| 国产精品网曝门| 亚洲一级二级| 欧美性猛交xxxx乱大交蜜桃| 亚洲人成7777| 欧美插天视频在线播放| 一区二区三区在线看| 欧美在线亚洲| 国产日韩欧美在线观看| 亚洲影院在线| 国产精品卡一卡二卡三| 中文国产成人精品| 欧美日韩在线观看一区二区| 最新亚洲一区| 欧美精品一区二区三区蜜臀| 亚洲国产日韩一区| 欧美韩国日本综合| 亚洲精品一区二区三区蜜桃久| 蜜桃久久av| 亚洲经典自拍| 欧美理论在线播放| 99精品黄色片免费大全| 欧美日韩国产三级| 亚洲视频在线观看| 国产精品一区二区三区观看| 午夜在线观看免费一区| 国产原创一区二区| 久久亚洲春色中文字幕| 亚洲国产毛片完整版| 欧美精品在线极品| 亚洲中午字幕| 合欧美一区二区三区| 免费不卡在线观看| 一本色道久久88精品综合| 国产精品久久久久秋霞鲁丝| 欧美在线不卡| 亚洲福利视频三区| 欧美日韩在线播放一区二区| 亚洲欧美日韩国产一区| 国产日韩精品综合网站| 美女脱光内衣内裤视频久久影院| 欧美成人免费播放| 久久九九热免费视频| 欧美激情精品久久久六区热门| 久久综合狠狠| 久久综合伊人77777麻豆| 久久久久久综合| 久久精品人人做人人爽电影蜜月| 亚洲在线观看视频| 久久久在线视频| 欧美另类一区| 欧美性大战xxxxx久久久| 美日韩精品视频免费看| 久久成人免费电影| 亚洲精品美女久久7777777| 国产精品毛片一区二区三区 | 一本久久综合| 国模精品娜娜一二三区| 欧美日本在线一区| 久久亚洲私人国产精品va| 亚洲视频一二| 亚洲欧洲日本一区二区三区| 国产精品美女视频网站| 欧美不卡视频一区发布| 亚洲一级黄色| 曰韩精品一区二区| 国产精品视频| 欧美日韩另类国产亚洲欧美一级| 久久久久se| 午夜精品福利一区二区三区av| 亚洲人成网站色ww在线| 一区二区三区在线观看国产| 国产精品亚洲а∨天堂免在线| 欧美精品麻豆| 欧美大片免费观看| 久久精选视频| 久久激情五月激情| 欧美一区二区三区四区高清| 99视频精品全国免费| 亚洲国产色一区| 在线精品一区| 激情久久久久久久久久久久久久久久 | 亚洲视频电影在线| 亚洲日韩视频| 亚洲片国产一区一级在线观看| 精品99一区二区三区| 国产小视频国产精品| 国产亚洲精品久久久| 国产精品一区二区你懂得| 国产精品成人一区二区艾草| 欧美无砖砖区免费| 国产精品久久久久999| 国产精品国产三级国产专区53| 欧美视频在线播放| 国产精品久久久亚洲一区| 国产精品久久999| 国产精品区二区三区日本 | 欧美a级片网站| 欧美精品久久一区| 欧美日一区二区在线观看 | 国内一区二区在线视频观看| 国产精品一级久久久| 国产精品久久久久99| 欧美亚洲第一页| 欧美色综合天天久久综合精品| 欧美午夜在线观看| 欧美日韩国产麻豆| 欧美日韩视频在线| 久久天堂av综合合色| 欧美岛国激情| 欧美国产成人在线| 欧美福利影院| 美国成人直播| 国产精品啊啊啊| 国产精品久久久久久久久动漫| 欧美日韩在线观看一区二区| 欧美国产日韩一区二区三区| 欧美1区3d| 欧美喷潮久久久xxxxx| 欧美视频专区一二在线观看| 欧美激情视频网站| 欧美色图首页| 国产偷自视频区视频一区二区| 欧美日本高清视频| 欧美亚洲一区二区在线观看| 久久精品论坛| 欧美在线91| 久久这里只有精品视频首页| 日韩视频欧美视频| 伊人久久男人天堂| 国产伦精品一区| 欧美精品免费在线观看| 久久亚洲风情| 久久久亚洲午夜电影| 欧美综合国产精品久久丁香| 一区二区三区产品免费精品久久75| 国产一区二区三区久久精品| 美乳少妇欧美精品| 久久综合国产精品| 欧美激情亚洲另类| 久久久久免费视频| 久热精品在线| 久久影院午夜论| 久久伊人免费视频| 欧美激情综合色| 国产曰批免费观看久久久| 国产欧美一区二区精品婷婷| 欧美日本国产精品| 欧美色图天堂网| 欧美精彩视频一区二区三区| 午夜在线a亚洲v天堂网2018| 亚洲人精品午夜| 亚洲一区二区不卡免费| 亚洲高清色综合| 日韩视频一区二区三区在线播放免费观看 | 久久婷婷综合激情| 欧美精品久久99久久在免费线| 国产精品老女人精品视频|