一、独一无二的路

  从前有一只小小的机器人叫小器,小器站在一个M*N的格子地板的最左上角,很孤单,世界辣么大,它也想去看看,经过不懈的努力它终于可以(只能)向下或者向右移动啦,它有一个宏伟的愿望就是要穿过格子地板到达右下角的砖,所以如果小器告诉你M和N,你能不能帮它计算一下这中间可以有多少条独一无二的路径?

  

  代码如下:(递归,个人喜欢,但可能会超出时间)

 def way(m,n,i,j):
if i==m or j==n:
return 0
elif i==m-1 and j==n-1:
return 1
elif i==m-1 and j!=n-1:
return way(m,n,i,j+1)
elif i!=m-1 and j==n-1:
return way(m,n,i+1,j)
else:
return way(m,n,i+1,j)+way(m,n,i,j+1) m=int(input())
n=int(input())
print(way(m,n,0,0))

二、括号配对检测 A

  用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确,配对成功与否分别输出:

  配对成功,配对不成功

  其中,小括号配对要考虑配对顺序,即()表示配对,)(不是配对,只考虑小括号配对。

  

  代码如下:

def parentheses(temp):
list1=[]
for i in range(len(temp)): #除去其他,剩下(),放在list1
if temp[i]=='(' or temp[i]==')':
list1.append(temp[i])
list2=[] #存放(,相当于栈
if len(list1)==0: #排除明显正确
return True
elif list1[0]==')': #排除明显错误
return False
elif len(list1)%2!=0:
return False
else:
for i in range(len(list1)):
if list1[i]=='(':
list2.append(list1[i])
elif list1[i]==')' and len(list2)!=0:
list2.pop()
else:
return False
return True temp=input()
if parentheses(temp):
print('配对成功')
else:
print('配对不成功')

三、垂直Hello World

  垂直输出"Hello World",全部代码不超过2行。

  代码如下:

print(*'Hello World',sep='\n')

四、斐波那契数列计算

  斐波那契数列如下:F(0) = 0, F(1) = 1

           F(n) = F(n-1) + F(n-2)

  编写一个计算斐波那契数列的函数,采用递归方式,输出不超过n的所有斐波那契数列元素。

  调用上述函数,完成如下功能:

  用户输入一个整数n,输出所有不超过n的斐波那契数列元素、输出数列的元素和及平均数,输出按照顺序,用英文逗号和空格分割。

  

  代码如下:

def Fibon(num):
if num==0:
return 0
elif num==1:
return 1
elif num>1:
return Fibon(num-1)+Fibon(num-2) num=int(input())
list1=[]
for i in range(num+1):
list1.append(Fibon(i))
print(list1[-1],end=', ')
print(sum(list1),sum(list1)//len(list1),sep=', ')

五、3位水仙花数计算

  “3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。

  请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。

  注意:这是一个OJ题目,输出格式要严格一致,最后一位水仙花数后没有逗号。

  

  代码如下:

def Narcissus():
list1=[]
for num in range(100,1000):
a=num//100
b=num//10%10
c=num%10
if num==a**3+b**3+c**3:
list1.append(num)
return list1 str1=', '.join(map(str,Narcissus()))
print(str1)

Python习题(第3课)的更多相关文章

  1. Python习题(第一课)

    想了想其他的太简单了,还是不放了,剩三题吧. 一.完美立方 编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a^3= b^3 + c^3 + d^3,其中 ...

  2. Python学习第七课

    Python学习第七课 'Alex' "Alex"print('hello'*5) #重复输出字符串 print('hellowold'[2:]) #类似于切片操作:会取出 llo ...

  3. Python学习第六课

    Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会 ...

  4. 利用python完成大学刷课(从0到完成的思路)

    i春秋作家:tllm 原文来自:利用python完成大学刷课(从0到完成的思路) 最近刚刚开学,学校总是有很多让人无语的课要修,还不能不修.然后我想写一个自动修课的脚本.大佬们不要笑我 是边面向百度学 ...

  5. python第三十一课--递归(2.遍历某个路径下面的所有内容)

    需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...

  6. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...

  7. python第二十九课——文件读写(读取读取中文字符)

    演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...

  8. python高手的自修课

    python高手的自修课 作者:相国大人 目录 0.第0课:前言与参考文献 目标读者: 具有一定python基础的编程爱好者. 本系列博文为了尽可能少说废话,凡是能够用代码表达的,都尽量直接用代码.读 ...

  9. 少儿编程:python趣味编程第二课,如何在pygame中写文字

    python趣味编程第二课:本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的 大家好,我是C大叔,上一篇文章已经跟大家介绍了一款开发 ...

随机推荐

  1. Android开发艺术探索学习笔记(十)

    第十章  Android的消息机制 面试中经常会被问到的一个问题:handler是如何在子线程和主线程中进行消息的传递的,这个问题通过了解Android的消息机制可以得到一个准确的答案. Androi ...

  2. 04 - JavaSE之异常处理

    异常的概念(运行期出现的错误) java 异常是 java 提供的用于处理程序中错误的一种机制. 所谓的错误是指在程序运行的过程中发生的一些异常事件.(如:除0溢出,数组下标越界,所要读取的文件不存在 ...

  3. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(九):代码整理优化

    工程规划 为了统一配置和代码解耦,我们对代码重新进行了整理和规划. 重新规划后,代码结构如下: kitty-pom: 统一管理 Maven 版本,打包配置 kitty-common: 公共代码模块,主 ...

  4. SSM事务——事务回滚如何拿到返回值

    MySQL数据库一共向用户提供了包括BDB.HEAP.ISAM.MERGE.MyISAM.InnoDB以及Gemeni这7种Mysql表类型.其中BDB.InnoDB属于事务安全类表,而其他属于事务非 ...

  5. C语言中求字符串的长度

    在C语言中求字符串的长度,可以使用sizeof()函数和strlen()函数,后者需要引入string.h (#include <string.h>) 因为C语言字符串是以 \0 结尾表示 ...

  6. DataSet 多表关系

    protected void Page_Load(object sender, EventArgs e) { string connectionString = @"Data Source= ...

  7. Java 容器源码分析之1.8HashMap方法讲解

    前言:Java8之后新增挺多新东西,在网上找了些相关资料,关于HashMap在自己被血虐之后痛定思痛决定整理一下相关知识方便自己看.图和有些内容参考的这个文章:http://www.importnew ...

  8. Python模块:日志输出—logging模块

    1. logging介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/ ...

  9. 白话js this指向问题

    前言   通过本文,你大概能了解this基础指向的问题,抛开例子去说this太虚幻,这里还是结合几篇博文做个整理,算是个人的记录了. 先说概念,this指向与申明无关,永远指向距离自己最近的最终调用者 ...

  10. 使用netfilter_queue改包笔记

    系统:centos 7 准备:安装libnetfilter_queue模块,可以yum安装,也可以网上下载rpm包安装 简介:使用iptables在NAT表上创建DNAT与SNAT规则,对数据包进行转 ...