python小学生口算题代码(python 口算题)

http://www.itjxue.com  2023-03-06 13:54  来源:未知  点击次数: 

用PYTHON2做个计算器,哪位高手能用Python写出计算器的代码,需要加减乘除和退出,谢谢!

粗略的写了一个,没有包含对输入的检查。

#?coding:?utf-8

'''

计算器

'''

operator?=?{

????'a':?['a?for?addition','+'],

????'b':?['b?for?subtraction','-'],

????'c':?['c?for?multiplication','*'],

????'d':?['d?for?division','/'],

????'z':?['z?for?exit',None]

}

def?DisplayOperationMenu():

????for?key,?data?in?operator.items():

????????print?data[0]

????print

def?GetInputs():

????input_data?=?raw_input('Input?two?numbers?(format?-?number1,number2):?')

????return?(int(input_data.split(',')[0]),int(input_data.split(',')[1]))

def?GetOperator():

????input_operator?=?raw_input('Select?one?of?the?above?operates:?')

????try:

????????return?operator[input_operator][1]

????except:

????????return?'SKIP'

def?Calculator(parameters,?operator):

????strline?=?'{0}{2}{1}'.format(parameters[0],parameters[1],operator)

????try:

????????print?'{}={}'.format(strline,?eval(strline))

????except:

????????print?'?Incorrect?operation?'

????print

while?True:

????DisplayOperationMenu()

????p?=?GetOperator()

????if?p?==?'SKIP':

????????print?'Incorrect?selection!'

????????continue

????elif?p?is?None:

????????break

????else:

????????Calculator(GetInputs(),?p)

测试:

运行的时候选择d

输入100,20

python有趣的编程代码

class?Point:

??row=0

??col=0

??def?__init__(self,?row,?col):

????self.row=row

????self.col=col

??def?copy(self):

????return?Point(row=self.row,?col=self.col)

#初始框架

import?pygame

import?random

#初始化

pygame.init()

W=800

H=600

ROW=30

COL=40

size=(W,H)

window=pygame.display.set_mode(size)

pygame.display.set_caption('贪吃蛇')

bg_color=(255,255,255)

snake_color=(200,200,200)

head=Point(row=int(ROW/2),?col=int(COL/2))

head_color=(0,128,128)

snakes=[

??Point(row=head.row,?col=head.col+1),

??Point(row=head.row,?col=head.col+2),

??Point(row=head.row,?col=head.col+3)

]

#生成食物

def?gen_food():

??while?1:

????pos=Point(row=random.randint(0,ROW-1),?col=random.randint(0,COL-1))

????#

????is_coll=False

????#是否跟蛇碰上了

????if?head.row==pos.row?and?head.col==pos.col:

??????is_coll=True

????#蛇身子

????for?snake?in?snakes:

??????if?snake.row==pos.row?and?snake.col==pos.col:

????????is_coll=True

????????break

????if?not?is_coll:

??????break

??return?pos

#定义坐标

food=gen_food()

food_color=(255,255,0)

direct='left'???????#left,right,up,down

#

def?rect(point,?color):

??cell_width=W/COL

??cell_height=H/ROW

??left=point.col*cell_width

??top=point.row*cell_height

??pygame.draw.rect(

????window,?color,

????(left,?top,?cell_width,?cell_height)

??)

??pass

#游戏循环

quit=True

clock=pygame.time.Clock()

while?quit:

??#处理事件

??for?event?in?pygame.event.get():

????if?event.type==pygame.QUIT:

??????quit=False

????elif?event.type==pygame.KEYDOWN:

??????if?event.key==273?or?event.key==119:

????????if?direct=='left'?or?direct=='right':

??????????direct='up'

??????elif?event.key==274?or?event.key==115:

????????if?direct?==?'left'?or?direct?==?'right':

??????????direct='down'

??????elif?event.key==276?or?event.key==97:

????????if?direct?==?'up'?or?direct?==?'down':

??????????direct='left'

??????elif?event.key==275?or?event.key==100:

????????if?direct?==?'up'?or?direct?==?'down':

??????????direct='right'

??#吃东西

??eat=(head.row==food.row?and?head.col==food.col)

??#重新产生食物

??if?eat:

????food?=?gen_food()

??#处理身子

??#1.把原来的头,插入到snakes的头上

??snakes.insert(0,?head.copy())

??#2.把snakes的最后一个删掉

??if?not?eat:

????snakes.pop()

??#移动

??if?direct=='left':

????head.col-=1

??elif?direct=='right':

????head.col+=1

??elif?direct=='up':

????head.row-=1

??elif?direct=='down':

????head.row+=1

??#检测

??dead=False

??#1.撞墙

??if?head.col0?or?head.row0?or?head.col=COL?or?head.row=ROW:

????dead=True

??#2.撞自己

??for?snake?in?snakes:

????if?head.col==snake.col?and?head.row==snake.row:

??????dead=True

??????break

??if?dead:

????print('死了')

????quit=False

??#渲染——画出来

??#背景

??pygame.draw.rect(window,?bg_color,?(0,0,W,H))

??#蛇头

??for?snake?in?snakes:

????rect(snake,?snake_color)

??rect(head,?head_color)

??rect(food,?food_color)

??#

??pygame.display.flip()

??#设置帧频(速度)

??clock.tick(8)

#收尾工作

这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错

用Python写一个,两个数的加,减,乘,除的函数,然后用这些函数,完成简单的计算,怎么写

我课程中的部分代码(除没写):

def?f_add(a,b):

????return?a+b

def?f_mul(a,b):

????return?a*b

def?f_sub(a,b):

????return?a-b

????

def?g1(f,a,b):

????return?f(a,b)

a,b,c,d?=?1,2,3,4

print?g1(f_sub,?g1(f_mul,?g1(f_add,a,b),?c),?d),??g1(f_mul,?g1(f_add,a,b),?g1(f_sub,c,?d))

对python感兴趣可以到这里了解一下:

study.163.com/course/courseMain.htm?courseId=1000035

这个python题目怎么写?

无意间,看到这么一道Python面试题:以下代码将输出什么?

def testFun:

temp = [lambda x : i*x for i in range(4)]

return temp

for everyLambda in testFun:

print (everyLambda(2))

脑中默默一想,这还用说么,肯定是:

2

4

6

最后一看答案,竟然是:

6

6

6

6

于是带着怀疑的心态(其实是不服输,不认错),打开编辑器,快速一敲,果然是:

怀疑了人生半天,本来还想黑,WTF Python…然后才想通是自己太生疏......

最后发现原因竟是:Python 的闭包的后期绑定导致的 late binding。

这意味着在闭包中的变量是在内部函数被调用的时候被查找,所以当任何testFun 返回的函数被调用,i 的值是在它被调用时的周围作用域中查找。

也就是说无论哪个返回的函数被调用,for 循环都已经完成了,i 最后的值是 3,因此,每个返回的函数 testFun 的值都是 3。

因此一个等于 2 的值被传递进以上代码,它们将返回一个值 6 (比如:3 x 2)。

究竟如何才能实现出这样的结果呢?

2

4

6

想了想,若能立即绑定参数,或者直接不用闭包总该行吧,用另一种方式避免 i 的改写。

回忆了之前所学知识,最后酝酿出了四种解决方案。

第一种:创建一个闭包,通过使用默认参数立即绑定它的参数

def testFun:

temp = [lambda x, i=i: i * x for i in range(4)]

return temp

for everyLambda in testFun:

print(everyLambda(2))

第二种:使用functools.partial 函数,把函数的某些参数(不管有没有默认值)给固定住(也就是相当于设置默认值)

from functools import partial

from operator import mul

def testFun:

return [partial(mul, i) for i in range(4)]

for everyLambda in testFun:

print(everyLambda(2))

第三种:优雅的写法,直接用生成器

def testFun:

return (lambda x, i=i: i * x for i in range(4))

for everyLambda in testFun:

print(everyLambda(2))

第四种:利用yield的惰性求值的思想

def testFun:

for i in range(4):

yield lambda x: i * x

for everyLambda in testFun:

print(everyLambda(2))

最终运行结果:

有了解决方案后,又陷入了怀疑自己,这个题目究竟是考察的是什么?是在考面试者闭包相关知识以及Python 的闭包的后期绑定问题么?

若将题目改成:以下代码输出的结果是(0,2,4,6)么?如果不是,你将会怎么做,让它变成(0,2,4,6)?这样会不会更有意思点呢?欢迎大家出妙招,看究竟有多少招?(哈哈哈!!!)

想问一下图上的第5题 Python代码?

在这篇文章中将为大家介绍一些重要的图算法,以及Python 的代码实现。 1、连通分量 具有三个连通分量的图 将上图中的连通分量算法近似看作一种硬聚类算法,该算法旨在寻找相关数据的簇类。举一个具体的例子:假设拥有连接世界上任意城市的.

python简单的编程代码

输入两个数字,比较大小,然后按照大小输出

def cmpNum():

a = input("请输入一个数字:")

b = input("请输入一个数字:")

if a = b:

print(a, b)

else:

print(b, a)

cmpNum()

结果一:

请输入一个数字:159

请输入一个数字:456

456 159

结果二:

请输入一个数字:9568

请输入一个数字:1452

9568 1452

(责任编辑:IT教学网)

更多

推荐Oracle文章