大学生python作业代做_代写COMP9021作业、代做Python编程语言作业、代写Python实验作业、代做program留学生作业...
代写COMP9021作业、代做Python编程语言作业、代写Python实验作业、代做program留学生作业
日期:2019-03-23 11:16
Assignment 1
COMP9021, Trimester 1, 2019
1. General matters
1.1. Aim. The purpose of the assignment is to:
let you design a solution to a problem that requires to parse and analyse text and perform logical
computations;
let you implement this solution in the form of a short Python program;
practice reading from a file and making use of, in particular, tests, repetitions, lists, sets, strings, Boolean
operators.
1.2. Submission. Your program will be stored in a file named knights_and_knaves.py. After you have
developed and tested your program, upload it using Ed (unless you worked directly in Ed). Assignments can
be submitted more than once; the last version is marked. Your assignment is due by March 31, 11:59pm.
1.3. Assessment. The assignment is worth 10 marks. It is going to be tested against a number of input files.
For each test, the automarking script will let your program run for 30 seconds.
Late assignments will be penalised: the mark for a late submission will be the minimum of the awarded mark
and 10 minus the number of full and partial days that have elapsed from the due date.
The outputs of your programs should be exactly as indicated.
1.4. Reminder on plagiarism policy. You are permitted, indeed encouraged, to discuss ways to solve the
assignment with other people. Such discussions must be in terms of algorithms, not code. But you must
implement the solution on your own. Submissions are routinely scanned for similarities that occur when students
copy and modify other people’s work, or work very closely together on a single implementation. Severe penalties
apply.
2. General description
Raymond Smullyan has designed many puzzles involving Knights and Knaves. Knights always tell the truth,
whereas Knaves always lie. We refer to Knights and Knaves as Sirs. A puzzle, which is a set of English sentences,
involves a finite number of Sirs. Solving the puzzle means:
determining the names of all Sirs involved in the puzzle;
determining solutions to the puzzle, where a solution qualifies each Sir as either a Knight or a Knave.
Some puzzles have no solution, others have a unique solution, and others have at least 2 solutions. The following
is an example of a puzzle with a unique solution.
One evening as you are out for a stroll, you walk by a doorway labeled no normals
allowed. Some people are talking inside. Curious, you listen, and you hear Sir Paul
who says: "all of us are Knaves." "Exactly one of us is a Knight," replies Sir Jenny.
As for Sir John, who is also inside, he just keeps quiet. Who is a Knight, and who
is a Knave?
The Sirs involved in this puzzle are Sir Jenny, Sir John, and Sir Paul. The unique solution is given by Sir Jenny
being a Knight, Sir John being a Knave, and Sir Paul being a Knave.
1
2
3. Detailed description
3.1. Syntax of puzzles. A sentence starts with a capital letter and ends in a full stop, an exclamation mark,
or a question mark, possibly followed by closing double quotes. Sir, Sirs, Sir names, Knight and Knave always
start with a capital letter, and no other word inside a sentence is capitalised. A sentence in a puzzle contains
at most one part enclosed between double quotes. When a sentence contains one part enclosed between double
quotes, the part outside the double quotes contains a single occurrence of the form Sir Sir_Name, and what
occurs between the double quotes is something said by Sir Sir_Name. A sentence that contains no part enclosed
between double quotes might refer to a number of Sirs, always in the form Sir Sir_Name, or Sirs Sir_Name_1
and Sir_Name_2, or Sirs Sir_Name_1, Sir_Name_2, …and Sir_Name_n, where n ≥ 3, and Sir_Name_1, …,
Sir_Name_n are pairwise distinct.
What is between double quotes is a sentence in one of the following forms, ending in either a comma, a full
stop, an exclamation mark, or a question mark:
At/at least one of Conjunction_of_Sirs/us is a Knight/Knave
At/at most one of Conjunction_of_Sirs/us is a Knight/Knave
Exactly/exactly one of Conjunction_of_Sirs/us is a Knight/Knave
All/all of us are Knights/Knaves
I am a Knight/Knave
Sir Sir_Name is a Knight/Knave
Disjunction_of_Sirs is a Knight/Knave
Conjunction_of_Sirs are Knights/Knaves
where:
Disjunction_of_Sirs is in one of the following forms:
– Sir_1 or Sir_2
– Sir_1, Sir_2, … or Sir_n (n ≥ 3)
Conjunction_of_Sirs is in one of the following forms:
– Sir_1 and Sir_2
– Sir_1, Sir_2, … and Sir_n (n ≥ 3)
Sir_1, …, Sir_n are pairwise distinct expressions of the form Sir Sir_Name or I.
3.2. Input and output of programs. Your program will prompt the user for a text file, assumed to be stored
in the working directory, that stores the sentences that make up a puzzle. No assumption should be made on
the number of English sentences provided as input, nor on the length of a sentence, nor on the length of a Sir
name, nor on the number of Sirs involved in the puzzle.
Your program should:
output the Sirs involved in the puzzle in lexicographic order;
output whether or not there is a solution, and in case there is one, whether the solution is unique;
output the solution in case a unique solution exists, with all Sirs being qualified as either Knight or
Knave in alphabetical order.
3
3.3. Sample outputs. Here are a few tests together with the expected outputs. The outputs of your program
should be exactly in accordance with the following outputs. Outputs of your program will be matched against
expected outputs line for line.
$ cat test_1.txt
I have just seen Sirs Sanjay and Eleonore!
"I am a Knave," whispered Sir Eleonore.
Who is a Knight and who is a Knave?
$ python3 knights_and_knaves.py
Which text file do you want to use for the puzzle? test_1.txt
The Sirs are: Eleonore Sanjay
There is no solution.
$ cat test_2.txt
I have just met Sirs Frank, Paul and Nina.
Sir Nina said: "I am a Knight," but I am not sure
if that is true. What do you think?
$ python3 knights_and_knaves.py
Which text file do you want to use for the puzzle? test_2.txt
The Sirs are: Frank Nina Paul
There are 8 solutions.
$ cat test_3.txt
Yesterday, I visited Sirs Andrew and Nancy. I asked Sir Andrew
who he was, and he answered impatiently: "Sir Nancy and I
are Knaves!" Then I met Sir Bill who introduced me to his wife
and told me: "at least one of Sir Hilary
and I is a Knave." Should I trust them?
$ python3 knights_and_knaves.py
Which text file do you want to use for the puzzle? test_3.txt
The Sirs are: Andrew Bill Hilary Nancy
There is a unique solution:
Sir Andrew is a Knave.
Sir Bill is a Knight.
Sir Hilary is a Knave.
Sir Nancy is a Knight.
大学生python作业代做_代写COMP9021作业、代做Python编程语言作业、代写Python实验作业、代做program留学生作业...相关推荐
- 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...
代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...
- 代写python期末作业价格_代做program留学生作业、代写Python语言作业、代做algorithm课程作业、代写Python程序设计作业...
代做program留学生作业.代写Python语言作业.代做algorithm课程作业.代写Python程序设计作业 日期:2020-01-09 10:13 Coursework Brief: ASS ...
- python 阻止锁屏_想要自己的手机锁屏更加安全吗?python带你打造个性的锁屏控件...
原标题:想要自己的手机锁屏更加安全吗?python带你打造个性的锁屏控件 Python是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了 ...
- python 赚钱 知乎_没想到吧!Google 排名第一的编程语言,为什么会这么火?
原标题:没想到吧!Google 排名第一的编程语言,为什么会这么火? 没想到吧,Python 又拿第一了! 在 Google 公布的编程语言流行指数中,Python 依旧是全球范围内最受欢迎的技术语言 ...
- python图片转文字_【收藏】图片转成文字的方法总结,python批量图片转文字信息参考源码...
在日常办公或者学习中,往往存在这样一个工作场景,比如,"老王,我这里有一张图片,你把里面的文字信息给我整理出来",都2021年了,你真的还在手敲图片文字信息么?那么还不赶紧收藏这篇 ...
- python绘制黑白棋盘_生成黑白棋盘标定图和单目相机标定(python+opencv实现)
学习记录. 事实上很早就接触过视觉定位这东西,但是到现在才返回头学习一下相机的标定,真是可耻啊!我把想法和过程记录一下. 相机成像 相机的成像原理--小孔成像 然而,在实际由于设计工艺问题.相机安装环 ...
- java与python多态的区别_如果未调用父构造函数(与Java不同),多态性在Python中如何工作? - java...
因此,父类构造函数是在Java中调用的,而在Python中则不是.如果这意味着未创建父对象,那么如何在Python中成功调用def function-这是怎么回事? Python代码 class Pa ...
- python需要的基础_推荐收藏!小白不要怕!一周学全Python面试基础(2)
Python是一个广泛的领域,因此有必要保持最新状态.通过列出30个python面试问题和答案,本文涵盖在Python面试中经常问到的问题.如果您是该行业的新手,本基础篇将极大地帮助您.我们衷心希望这 ...
- python 与或非_“2020”假看完本文若不能让你学通“Python”,我将永远退出IT界!...
0基础小白怎么学Python? 今天给大家分享一些学习Python的基本概念图,入门书籍.视频教程以及学习路上最有效的方法.Python基本概念最全图1.Python 解释器: 2.Python数据结 ...
- python面板数据分析代码_对于大面板数据,回归就绪格式的Excel到Python?
试图从Excel中获取一些大面板数据到python中,所以我可以做一些GMM /横截面面板数据回归分析(想想sci-kit软件包).我把我的数据从excel移到了Python,但是回归分析的格式不正确 ...
最新文章
- Concurrency Runtime in Visual C++ 2010
- Nandflash 驱动移植
- BeautifulSoup库使用
- Redis Cluster深入与实践(续)
- Shell命令-磁盘与文件系统之e2fsck、mkswap
- 万物皆可Graph | 当信息检索遇上图神经网络
- NASM汇编语言与计算机系统04-实模式-屏幕显示不定长度的字符串(cmp/je)
- bzoj 4127: Abs(树链剖分+线段树)
- .Net框架搭建之辅助模版代码生成工具
- Apk资源文件混淆[微信开源方法]
- Asis CTF 2016 b00ks
- java midi版本_java-为特定MIDI设备开发软件
- 在外包公司工作是什么样的体验?
- java中的常见异常1 -- 新手上路,减速慢行
- 第三天---随机小方块
- 李建忠设计模式——策略模式Strategy
- iOS通过dSYM文件分析crash
- 老调重弹之ffmpeg解码音频
- 月入10万的人,他们都掌握哪些秘密?
- 学生老师的家教服务平台小程序制作