• RADIATION EXPOSURE
    挺简单的一道题,计算函数和算法过程都已经给出,做一个迭代计算就行了。

     def radiationExposure(start, stop, step):
    '''
    Computes and returns the amount of radiation exposed
    to between the start and stop times. Calls the
    function f (defined for you in the grading script)
    to obtain the value of the function at any point. start: integer, the time at which exposure begins
    stop: integer, the time at which exposure ends
    step: float, the width of each rectangle. You can assume that
    the step size will always partition the space evenly. returns: float, the amount of radiation exposed to
    between start and stop times.
    '''
    # FILL IN YOUR CODE HERE...
    area = 0
    while start < stop:
    area = area + f(start) * step
    start += step return area
  • A WORDGAME: HANGMAN
    一个猜单词游戏,个人感觉略有难度,游戏规则见这里。将其分步实现相应的函数。

     # 6.00 Problem Set 3
    #
    # Hangman game
    # # -----------------------------------
    # Helper code
    # You don't need to understand this helper code,
    # but you will have to know how to use the functions
    # (so be sure to read the docstrings!) import random
    import string WORDLIST_FILENAME = "words.txt" def loadWords():
    """
    Returns a list of valid words. Words are strings of lowercase letters. Depending on the size of the word list, this function may
    take a while to finish.
    """
    print "Loading word list from file..."
    # inFile: file
    inFile = open(WORDLIST_FILENAME, 'r', 0)
    # line: string
    line = inFile.readline()
    # wordlist: list of strings
    wordlist = string.split(line)
    print " ", len(wordlist), "words loaded."
    return wordlist def chooseWord(wordlist):
    """
    wordlist (list): list of words (strings)
    Returns a word from wordlist at random
    """
    return random.choice(wordlist) # end of helper code
    # ----------------------------------- # Load the list of words into the variable wordlist
    # so that it can be accessed from anywhere in the program
    wordlist = loadWords() def isWordGuessed(secretWord, lettersGuessed):
    '''
    secretWord: string, the word the user is guessing
    lettersGuessed: list, what letters have been guessed so far
    returns: boolean, True if all the letters of secretWord are in
    lettersGuessed; False otherwise
    '''
    # FILL IN YOUR CODE HERE...
    for c in secretWord:
    if c not in lettersGuessed:
    return False return True def getGuessedWord(secretWord, lettersGuessed):
    '''
    secretWord: string, the word the user is guessing
    lettersGuessed: list, what letters have been guessed so far
    returns: string, comprised of letters and underscores that represents
    what letters in secretWord have been guessed so far.
    '''
    # FILL IN YOUR CODE HERE...
    guess = ""
    for c in secretWord:
    if c in lettersGuessed:
    guess += c
    else:
    guess += "_ " return guess def getAvailableLetters(lettersGuessed):
    '''
    lettersGuessed: list, what letters have been guessed so far
    returns: string, comprised of letters that represents what letters have not
    yet been guessed.
    '''
    # FILL IN YOUR CODE HERE...
    available = ""
    for c in string.ascii_lowercase:
    if c not in lettersGuessed:
    available += c return available def hangman(secretWord):
    '''
    secretWord: string, the secret word to guess.
    Starts up an interactive game of Hangman.
    * At the start of the game, let the user know how many
    letters the secretWord contains.
    * Ask the user to supply one guess (i.e. letter) per round.
    * The user should receive feedback immediately after each guess
    about whether their guess appears in the computers word.
    * After each round, you should also display to the user the
    partially guessed word so far, as well as letters that the
    user has not yet guessed.
    Follows the other limitations detailed in the problem write-up.
    '''
    # FILL IN YOUR CODE HERE...
    print "Welcome to the game Hangman!"
    print "I am thinking of a word that is", len(secretWord), "letters long."
    print "-------------"
    lettersGuessed = []
    mistakesMade = 0
    availableLetters = string.ascii_lowercase while mistakesMade < 8 and not isWordGuessed(secretWord, lettersGuessed):
    print "You have", 8 - mistakesMade, "guesses left."
    print "Available letters:", availableLetters
    guess = raw_input("Please guess a letter: ").lower() if guess in lettersGuessed:
    print("Oops! You've already guessed that letter: " +
    getGuessedWord(secretWord, lettersGuessed))
    elif guess in secretWord:
    lettersGuessed.append(guess)
    print "Good guess:", getGuessedWord(secretWord, lettersGuessed)
    else:
    mistakesMade += 1
    lettersGuessed.append(guess)
    print("Oops! That letter is not in my word: " +
    getGuessedWord(secretWord, lettersGuessed)) availableLetters = getAvailableLetters(lettersGuessed) print "------------" if isWordGuessed(secretWord, lettersGuessed):
    print "Congratulations, you won!"
    else:
    print("Sorry, you ran out of guesses. The word was " + secretWord +
    ".") # When you've completed your hangman function, uncomment these two lines
    # and run this file to test! (hint: you might want to pick your own
    # secretWord while you're testing) secretWord = chooseWord(wordlist).lower()
    hangman(secretWord)

mooc课程mit 6.00.1x--problem set3解决方法的更多相关文章

  1. mooc课程mit 6.00.1x--problem set2解决方法

    PAYING THE MINIMUM 计算每月信用卡最低还款额及剩余应还款额 balance = 4842 #还款额 annualInterestRate = 0.2 #年利息比率 monthlyPa ...

  2. Mysql 时间格式默认空串 '0000-00-00 00:00:00' select抛出异常的解决方法

    Mysql 时间格式默认插入值为空时,会以'0000-00-00 00:00:00'填充,这时如果select时会抛出SQLExecption如下: java.sql.SQLException: Va ...

  3. ubuntu 12.04 ubuntu System program problem detected 解决方法

    1. ubuntu System program problem detected本人操作系统是ubuntu12.04,不知道是系统出了问题还是装的软件有问题,每次开机都出现:System progr ...

  4. LoadRunner11.00安装问题及解决方法

    1.安装提示:“安装程序已确定正在等待重新启动....” 解决方法:打开安装包,找到:\Additional Components\IDE Add-Ins\MS Visual Studio .NET\ ...

  5. 我的首个MOOC课程《面向对象软件开发实践》

    我的首个MOOC课程<面向对象软件开发实践> 我将在网易云课堂开讲MOOC课<面向对象软件开发实践>(http://mooc.study.163.com/course/YOOK ...

  6. 《Linux内核 》MOOC 课程

    姬梦馨 原创微博 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 学习笔记 一:什么是冯诺依曼体系结构? ...

  7. MOOC课程信息D3.js动态可视化

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/83153693 - 写在前面 好久没更新博客了,主要还是最近 ...

  8. 中国大学MOOC课程信息之数据分析可视化二

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82318571 - 写在前面 本篇博客继续对中国大学MOOC ...

  9. 中国大学MOOC课程信息之数据分析可视化一

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82263391 9月2日更:中国大学MOOC课程信息之数据分 ...

随机推荐

  1. SpringMVC+Shiro权限管理(转载)

    源码 http://pan.baidu.com/s/1pJzG4t1 SpringMVC+Shiro权限管理 博文目录 权限的简单描述 实例表结构及内容及POJO Shiro-pom.xml Shir ...

  2. Apollo 分布式配置中心

    1.  介绍 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置 ...

  3. 安装xz

    原地址: http://jingyan.baidu.com/album/8cdccae9416720315413cd9e.html 1 获取XZ的安装文件,网络下载xz-5.0.3.tar.bz2安装 ...

  4. dedecms 调取当前栏目的链接和 栏目名称

    <a href="{dede:field name='typeurl' function=”GetTypeName(@me)”/}" target="_blank& ...

  5. yield理解

    http://www.jianshu.com/p/d09778f4e055 从yield处返回一个值,下次从yield后开始执行

  6. VS2010 MFC中 单独添加ODBC数据库记录集类(CRecordset)方法

    基于VS2010 MFC的项目是之前建好的,后来需要添加数据库. 方法分享于此. 1.  打开自己的项目,项目->添加类. 2. 选MFC ODBC使用者,点右下角的添加. 3. 点数据源. / ...

  7. CSS 属性选择器的深入挖掘

    CSS 属性选择器,可以通过已经存在的属性名或属性值匹配元素. 属性选择器是在 CSS2 中引入的并且在 CSS3 中得到了很好拓展.本文将会比较全面的介绍属性选择器,尽可能的去挖掘这个选择器在不同场 ...

  8. Flutter开发记录part3

    (1) 获取当前屏幕宽度 width: MediaQuery.of(context).size.width, (1) pull_to_refresh,smartrefresh 自定义文字: new S ...

  9. 关于 OGRE 与 OSG 的简单比较 (转)

    关于 OGRE 与 OSG 的简单比较 1   前言 我曾经细致阅读过 OGRE 和 OSG 官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(man ...

  10. Hadoop Mapreduce分区、分组、二次排序过程详解

    转载:http://blog.tianya.cn/m/post.jsp?postId=53271442 1.MapReduce中数据流动 (1)最简单的过程:  map - reduce (2)定制了 ...