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爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          性感少妇一区| 亚洲天堂黄色| 欧美美女喷水视频| 亚洲特色特黄| 久久久久一区二区三区四区| 欧美日韩在线亚洲一区蜜芽| 亚洲欧美激情一区| 欧美美女喷水视频| 亚洲国产乱码最新视频 | 欧美日韩国产成人在线免费| 亚洲一级片在线观看| 国产欧美日韩三级| 欧美成人资源| 亚洲一区亚洲| 在线成人激情黄色| 久久成人免费| 国产精品日本| 免费亚洲电影在线| 亚洲欧美精品| 91久久在线播放| 裸体歌舞表演一区二区| 9l视频自拍蝌蚪9l视频成人| 欧美大片在线影院| 午夜精品免费| 亚洲麻豆视频| 国内精品久久久久久久97牛牛| 欧美大片第1页| 午夜久久黄色| 国产精品美女主播在线观看纯欲| 99re热精品| 狠狠色香婷婷久久亚洲精品| 久久不射2019中文字幕| 国产日韩专区在线| 亚洲欧美久久| 亚洲乱码视频| 在线观看一区二区视频| 欧美系列一区| 欧美一区二区精品在线| 99精品欧美一区二区三区| 精品成人一区二区三区| 牛人盗摄一区二区三区视频| 亚洲国产小视频在线观看| 国产欧美日韩精品a在线观看| 亚洲欧美制服另类日韩| 国产欧美日韩一区| 欧美日韩一卡| 欧美日韩精品久久久| 美女在线一区二区| 久久久久久一区二区| 欧美诱惑福利视频| 亚洲国产三级网| 欧美日本国产精品| 午夜免费久久久久| 亚洲一区免费看| 在线亚洲激情| 免费在线视频一区| 亚洲人成绝费网站色www| 久久久久中文| 欧美在线视频在线播放完整版免费观看 | 国产精品久久久久婷婷| 欧美日韩国产a| 欧美激情视频一区二区三区在线播放 | 久久亚洲风情| 久久嫩草精品久久久精品| 亚久久调教视频| 新狼窝色av性久久久久久| 亚洲欧美怡红院| 国产精品日韩在线一区| 欧美视频日韩| 国产精品白丝av嫩草影院| 欧美午夜精品久久久久久浪潮| 欧美日韩精品高清| 亚洲免费精品| 亚洲国产日韩一区二区| 激情综合久久| 久久精品国产第一区二区三区最新章节 | 亚洲一区在线播放| 亚洲一区二区三区高清 | 毛片精品免费在线观看| 免费观看日韩av| 一本色道久久综合亚洲91| 一本久久综合亚洲鲁鲁五月天| 一区二区三区四区蜜桃| 亚洲伊人网站| 久久精品国产亚洲高清剧情介绍| 久久精品一级爱片| 裸体一区二区三区| 亚洲一区网站| 亚洲国产成人av好男人在线观看| 国产精品无码专区在线观看| 欧美韩国日本综合| 欧美日韩喷水| 国产伦精品一区二区三| 国产一区二区久久精品| 欧美在线观看一区二区| 亚洲精品在线免费| 国产精品自拍视频| 欧美色视频一区| 欧美激情无毛| 久久精品国产视频| 欧美一区三区二区在线观看| 久久综合国产精品| 欧美小视频在线观看| 国产一区二区中文| 国产精品扒开腿爽爽爽视频| 欧美大片免费| 开元免费观看欧美电视剧网站| 欧美伦理在线观看| 国产一区二区三区免费在线观看| 国产精品美女久久久久av超清 | 欧美韩国日本一区| 国产精品美女主播在线观看纯欲| 欧美激情五月| 欧美福利电影网| 国产一区二区三区的电影| 99精品久久久| 久久露脸国产精品| 欧美日产一区二区三区在线观看| 国产精品久久午夜| 国产精品劲爆视频| 欧美激情精品| 国产精品综合久久久| 亚洲国产美女| 亚洲一区二区三区四区五区午夜 | 欧美日韩午夜精品| 欧美国产精品va在线观看| 国产精品久久久久久久7电影| 狠狠爱成人网| 亚洲网站在线播放| 欧美一区二区三区四区在线观看| 榴莲视频成人在线观看| 国产精品日韩精品欧美精品| 欧美日韩久久不卡| 激情久久中文字幕| 亚洲二区视频| 午夜天堂精品久久久久 | 国产精品一区免费观看| 亚洲黄色高清| 欧美在线视频全部完| 国产精品高清一区二区三区| 国产欧美一区二区三区沐欲| 亚洲美女av电影| 久久综合久久综合这里只有精品| 国产精品久久久久久久久婷婷 | 亚洲国产欧美日韩另类综合| 亚洲欧美日韩国产中文在线| 亚洲一级黄色| 亚洲自拍偷拍一区| 午夜精品久久久久久久男人的天堂| 亚洲一区二区网站| 欧美精品三级| 在线免费观看视频一区| 亚洲精品免费一区二区三区| 午夜精品久久久久久| 国产精品亚洲激情| 亚洲天天影视| 欧美日韩在线精品| 国产亚洲免费的视频看| 亚洲一级黄色av| 欧美69视频| 国产精品swag| 在线一区二区日韩| 欧美日韩国产va另类| 欧美精品午夜| 国产欧美日韩在线观看| 久久久久国产精品厨房| 亚洲精品视频中文字幕| 日韩一区二区久久| 一区二区三区视频在线观看| 国产农村妇女精品| 欧美一区激情视频在线观看| 亚洲激情视频在线观看| 女生裸体视频一区二区三区| 国产精品入口日韩视频大尺度| 亚洲午夜电影网| 另类综合日韩欧美亚洲| 一级日韩一区在线观看| 国内精品视频666| 国产欧美日韩视频| 午夜精品久久久久久久男人的天堂| 欧美丝袜第一区| 亚洲免费影视| 国产午夜精品一区二区三区欧美 | 久久精品亚洲热| 欧美片在线观看| 久久国产精品第一页| 亚洲伊人伊色伊影伊综合网| 欧美日韩亚洲一区三区| 亚洲欧美另类在线观看| 午夜精品剧场| 久久裸体视频| 欧美大片免费观看| 欧美精品日韩| 欧美一区二区三区免费视频| 国产一区三区三区| 久久久久久久999| 欧美剧在线免费观看网站| 国产视频一区三区| 蜜桃av噜噜一区| 国产亚洲欧美激情|