联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2024-03-13 10:36

COMP9021 Principles of Programming

Term 1, 2024

Coding Quiz 3

Worth 4 marks and due Week 5 Thursday @ 9pm

Description

You are provided with a stub in which you need to insert your code where indicated without doing any

changes to the existing code to complete the task.

The current code prompts the user for an arity (a natural number) n and a word. Your task is to complete

the function is_valid(word, arity) that checks if the provided word with the given arity will

return either True if the word is valid or False if the word is invalid based on the constraints below.

Let’s call a symbol a word consisting of nothing but alphabetic characters and underscores.

The function checks if the word is valid given an arity n, that is, it satisfies the following inductive

definition:

? a symbol, with spaces allowed at both ends, is a valid word.

? a word of the form s(w1, ..., wn) with s denoting a symbol and w1, ..., wn denoting valid words,

with spaces allowed at both ends and around parentheses and commas, is a valid word.

See the test cases below for more details.

Due Date and Submission

Quiz 3 is due Week 5 Thursday 14 March 2024 @ 9.00pm (Sydney time).

Note that late submission with 5% penalty per day is allowed up to 3 days from the due date, that is, any

late submission after Week 4 Sunday 17 March 2024 @ 9pm will be discarded.

Make sure not to change the filename quiz_3.py while submitting by clicking on [Mark] button in Ed.

It is your responsibility to check that your submission did go through properly using Submissions link in Ed

otherwise your mark will be zero for Quiz 3.

2

Test Cases

$ python3 quiz_3.py

Input an arity : 0

Input a word: f_1

The word is invalid.

$ python3 quiz_3.py

Input an arity : 0

Input a word: ()

The word is invalid.

$ python3 quiz_3.py

Input an arity : 0

Input a word: function_of_arity_one(hello)

The word is invalid.

$ python3 quiz_3.py

Input an arity : 1

Input a word: f)

The word is invalid.

$ python3 quiz_3.py

Input an arity : 1

Input a word: f[a]

The word is invalid.

$ python3 quiz_3.py

Input an arity : 2

Input a word: f(a, g(b))

The word is invalid.

3

$ python3 quiz_3.py

Input an arity : 3

Input a word: constant

The word is invalid.

$ python3 quiz_3.py

Input an arity : 3

Input a word: f((a,b,c))

The word is invalid.

$ python3 quiz_3.py

Input an arity : 3

Input a word: f(g(a,a), f(a,b))

The word is invalid.

$ python3 quiz_3.py

Input an arity : 3

Input a word: f(g(a,b,c),g(a,b,c),g(a,b,c)

The word is invalid.

$ python3 quiz_3.py

Input an arity : 3

Input a word: f(a, g(a, b, f(a,b,c)), b, c)

The word is invalid.

$ python3 quiz_3.py

Input an arity : 0

Input a word: a

The word is valid.

4

$ python3 quiz_3.py

Input an arity : 1

Input a word: function_of_arity_one(hello)

The word is valid.

$ python3 quiz_3.py

Input an arity : 2

Input a word: F(g(a,a), f(a,b))

The word is valid.

$ python3 quiz_3.py

Input an arity : 3

Input a word: ff(ff(ff(a,b,ff(aa,bb,cc)) , b , ff(a,b,c)) , b , ff(a,ff(a,b,c),c))

The word is valid.

$ python3 quiz_3.py

Input an arity : 4

Input a word: f(a, FF(a, b, fff(a, b, c, FfFf(a,b,c,d)), FfFf(a,b,c,d)), c, d)

The word is valid.

5

Some More Test Cases

Here are some more examples that may help clarify doubts about Quiz 3 requirements:

Input an arity : 0

Input a word: f()

The word is invalid.

Input an arity : 1

Input a word: f()

The word is invalid.

Input an arity : 0

Input a word: f

The word is valid.

Input an arity : 1

Input a word: f(x)

The word is valid.

Input an arity : 0

Input a word: _

The word is valid

Input an arity : 2

Input a word: f ( a , _ )

The word is valid.

Input an arity : 2

Input a word: f ( f , )

The word is invalid.

Input an arity : 2

Input a word: f ( f , a )

The word is valid.

6

Input an arity : 1

Input a word: f (f)

The word is valid.

Input an arity : 0

Input a word: f. f

The word is invalid.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp