龙空技术网

Python|5个有趣实例熟悉基础语法II

小智雅汇 246

前言:

现时看官们对“python偶数”都比较注意,你们都需要了解一些“python偶数”的相关资讯。那么小编在网摘上网罗了一些对于“python偶数””的相关资讯,希望同学们能喜欢,大家一起来学习一下吧!

1 输出杨辉三角(15行)

杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。

output:

2 绘圆、循环与圆面积计算

在Python中实现图形用户界面(GUI)可以考虑使用tkinter模块。

output:

注意tkinter的图标系定义和各图形需要的参数:

3 约瑟夫环

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

output:

请输入总人数:33

7

4 几何级数与函数调用

输入n为偶数时,调用函数求1+1/2+1/4+1/8+...+1/(n^2),

输入n为奇数时,调用函数1/4+1/16+1/64...+1/(4^n)

output:

1+1/2+1/4+1/8+...+1/(n^2)+…=2

1/4+1/16+1/64...+1/(4^n)+…=1/3

5 八进制转换为十进制

n = 0

p = input('input a octal number:\n')

print("i j n")

for i in range(len(p)):

....j =ord(p[i]) - ord('0')

....print(i,j,n)

....n = n * 8 + j

print(n)

output:

input a octal number:

234

i j n

0 2 0

1 3 2

2 4 19

156

按手动计算的思路:

8进制的234 =2*8²+3*8+4

而上面代码的思路是:= (2*8+3)*8+4

如果再增加一位,如8进制的2345 = ((2*8+3)*8+4)*8+5 = 1253

附代码1:

n = 15........................ # 输出行数

a = []

for i in range(n):............ # 定义一个n*n列的矩阵

....a.append([])

....for j in range(n):

........a[i].append(0)

for i in range(n):............ # 修改矩阵两端的值为1

....a[i][0] = 1

....a[i][i] = 1

for i in range(2,n):............# 修改矩阵元素值

....for j in range(1,i):

........a[i][j] = a[i - 1][j-1] + a[i - 1][j]

for i in range(n):............ # 输出矩阵元素

....for k in range((n-i)*2):

............print('',end = ' ')

....for j in range(i + 1):

........print("{:^5d}".format(a[i][j]), end='');

....print('\n')

附代码2:

from tkinter import *

import math

window = Tk()

canvas = Canvas(window,width=400, height=300, bg='#eeeeee')

canvas.pack(expand=YES, fill=BOTH)

k = 1

j = 1

for i in range(0,26):

....canvas.create_oval(210 - k,150 - k,210 + k,150 + k, width=1)

....k += j

....j += 0.3

class circle:

....def __init__(self):

........self.v1 = StringVar(value = 2)

........v1 = 2

........Entry(window,textvariable = self.v1).place(x = 200, y = 200)

........Button(window, text = 'cal', command = self.cal).place(x = 200, y = 250)

........mainloop()

....def cal(self):

........self.v1.set(math.pi * eval(self.v1.get()) ** 2)

circle()

附代码3:

# 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),

# 凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

n = int(input('请输入总人数:'))

num = []

for i in range(n):............ # 使用列表存储编号

....num.append(i + 1)

i = 0 .... .... .... # 做为列表下标索引的变量

k = 0 .... .... .... # 报数k,k=3时出列

m = 0 .... .... .... # 统计出列人数的变量

............ # 出列操作

while m < n - 1:.... .... # 当只剩最后一人时,退出循环....

....if num[i] != 0 : k += 1

....if k == 3:

........num[i] = 0

........k = 0

........m += 1

....i += 1

....if i == n : i = 0........ # 开始下一轮循环

i = 0 .... .... .... # 输出最后一人的索引位置

while num[i] == 0: i += 1

print(num[i])

附代码4:

def peven(n):

....s = 0.0

....for i in range(1,n + 1):

........div = 2 ** (i-1)

........s += 1.0 / div # 表达式包含浮点数,结果也是浮点数

........print(i,div,s,end = '\n')

....return s

def podd(n):

....s = 0.0

....div = 4

....for i in range(1, n + 1):

........s += 1.0 / div

........print(i,div,s,end = '\n')

........div = div * 4

....return s

def dcall(fp,n):

....s = fp(n)

....return s

n = int(input('input a number:\n'))

if n % 2 == 0:

....sum = dcall(peven,n)

else:

....sum = dcall(podd,n)

print(sum)

-End-

标签: #python偶数