当前位置:
首页 > Python基础教程 >
-
浅谈如何编程Python3——Python实例(2)
0 或 正数
if num < 0:
print("抱歉,负数没有阶乘")
elif num == 0:
print("0 的阶乘为 1")
else:
for i in range(1,num + 1):
factorial = factorial*i
print("%d 的阶乘为 %d" %(num,factorial))
执行以上代码输出结果为:
请输入一个数字: 3 3 的阶乘为 6
Python 九九乘法表
以下实例演示了如何实现九九乘法表:
# Filename : test.py # author by : www.runoob.com # 九九乘法表 for i in range(1, 10): for j in range(1, i+1): print('{}x{}={}\t'.format(j, i, i*j), end='') print()
执行以上代码输出结果为:
1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
过指定end参数的值,可以取消在末尾输出回车符,实现不换行。
Python 斐波那契数列
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。
Python 实现斐波那契数列代码如下:
# Filename : test.py # author by : www.runoob.com # Python 斐波那契数列实现 # 获取用户输入数据 nterms = int(input("你需要几项?")) # 第一和第二项 n1 = 0 n2 = 1 count = 2 # 判断输入的值是否合法 if nterms <= 0: print("请输入一个正整数。") elif nterms == 1: print("斐波那契数列:") print(n1) else: print("斐波那契数列:") print(n1,",",n2,end=" , ") while count < nterms: nth = n1 + n2 print(nth,end=" , ") # 更新值 n1 = n2 n2 = nth count += 1
执行以上代码输出结果为:
你需要几项? 10 斐波那契数列: 0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 ,
Python 阿姆斯特朗数
如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。
1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。
以下代码用于检测用户输入的数字是否为阿姆斯特朗数:
# Python 检测用户输入的数字是否为阿姆斯特朗数 # 获取用户输入的数字 num = int(input("请输入一个数字: ")) # 初始化变量 sum sum = 0 # 指数 n = len(str(num)) # 检测 temp = num while temp > 0: digit = temp % 10 sum += digit ** n temp //= 10 # 输出结果 if num == sum: print(num,"是阿姆斯特朗数") else: print(num,"不是阿姆斯特朗数")
执行以上代码输出结果为:
$ python3 test.py 请输入一个数字: 345 345 不是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 153 153 是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 1634 1634 是阿姆斯特朗数
获取指定期间内的阿姆斯特朗数
# 获取用户输入数字 lower = int(input("最小值: ")) upper = int(input("最大值: ")) for num in range(lower,upper + 1): # 初始化 sum sum = 0 # 指数 n = len(str(num)) # 检测 temp = num while temp > 0: digit = temp % 10 sum += digit ** n temp //= 10 if num == sum: print(num)
执行以上代码输出结果为:
最小值: 1 最大值: 10000 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474
以上实例中我们输出了 1 到 10000 之间的阿姆斯特朗数。
Python 十进制转二进制、八进制、十六进制
以下代码用于实现十进制转二进制、八进制、十六进制:
# Filename : test.py # author by : www.runoob.com # 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec)) print("转换为八进制为:", oct(dec)) print("转换为十六进制为:", hex(dec))
执行以上代码输出结果为:
python3 test.py 输入数字:5 十进制数为:5 转换为二进制为: 0b101 转换为八进制为: 0o5 转换为十六进制为: 0x5 python3 test.py 输入数字:12 十进制数为:12 转换为二进制为: 0b1100 转换为八进制为: 0o14 转换为十六进制为: 0xc
Python ASCII码与字符相互转换
# 用户输入字符 c = input("请输入一个字符: ") # 用户输入ASCII码,并将输入的数字转为整型 a = int(input("请输入一个ASCII码: ")) print( c + " 的ASCII 码为", ord(c)) print( a , " 对应的字符为", chr(a))
执行以上代码输出结果为:
python3 test.py 请输入一个字符: a 请输入一个ASCII码: 101 a 的ASCII 码为 97 101 对应的字符为 e
Python 最大公约数算法
以下代码用于实现最大公约数算法:
# 定义一个函数 def hcf(x, y): """该函数返回两个数的最大公约数""" # 获取最小值 if x > y: smaller = y else: smaller = x for i in range(1,smaller + 1): if((x % i == 0) and (y % i == 0)): hcf = i return hcf # 用户输入两个数字 num1 = int(input("输入第一个数字: ")) num2 = int(input("输入第二个数字: ")) print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))
执行以上代码输出结果为:
输入第一个数字: 54 输入第二个数字: 24 54 和 24 的最大公约数为 6
Python 最小公倍数算法
以下代码用于实现最小公倍数算法:
# 定义函数 def lcm(x, y): # 获取最大的数 if x > y: greater = x else: greater = y while(True): if((greater % x == 0) and (greater % y == 0)): lcm = greater break greater += 1 return lcm # 获取用户输入 num1 = int(input("输入第一个数字: ")) num2 = int(input("输入第二个数字: ")) print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))
执行以上代码输出结果为:
输入第一个数字: 54 输入第二个数字: 24 54 和 24 的最小公倍数为 216
Python 简单计算器实现
以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运输:
# 定义函数 def add(x, y): """相加""" return x + y def subtract(x, y): """相减""" return x - y def multiply(x, y): """相乘""" return x * y def divide(x, y): """相除""" return x / y # 用户输入 print("选择运算:") print("1、相加") print("2、相减") print("3、相乘") print("4、相除") choice = input("输入你的选择(1/2/3/4):") num1 = int(input("输入第一个数字: ")) num2 = int(input("输入第二个数字: ")) if choice == '1': print(num1,"+",num2,"=", add(num1,num2)) elif choice == '2': print(num1,"-",num2,"=", subtract(num1,num2)) elif choice == '3': print(num1,"*",num2,"=", multiply(num1,num2)) elif choice == '4': print(num1,"/",num2,"=", divide(num1,num2)) else: print("非法输入")
执行以上代码输出结果为:
选择运算: 1、相加 2、相减 3、相乘 4、相除 输入你的选择(1/2/3/4):2 输入第一个数字: 5 输入第二个数字: 2 5 - 2 = 3
Python 生成日历
以下代码用于生成指定日期的日历:
# 引入日历模块 import calendar # 输入指定年月 yy = int(input("输入年份: ")) mm = int(input("输入月份: ")) # 显示日历 print(calendar.month(yy,mm))
输入年份: 2015 输入月份: 6 June 2015 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Python 使用递归斐波那契数列
以下代码使用递归的方式来生成斐波那契数列:
def recur_fibo(n): """递归函数 输出斐波那契数列""" if n <= 1: return n else: return(recur_fibo(n-1) + recur_fibo(n-2)) # 获取用户输入 nterms = int(input("您要输出几项? ")) # 检查输入的数字是否正确 if nterms <= 0: print("输入正数") else: print("斐波那契数列:") for i in range(nterms): print(recur_fibo(i))
执行以上代码输出结果为:
您要输出几项? 10 斐波那契数列: 0 1 1 2 3 5 8 13 21 34
Python 文件 IO
以下代码演示了Python基本的文件操作,包括 open,read,write:
# 写文件 with open("test.txt", "wt") as out_file: out_file.write("该文本会写入到文件中\n看到我了吧!") # Read a file with open("test.txt", "rt") as in_file: text = in_file.read() print(text)
执行以上代码输出结果为:
该文本会写入到文件中
看到我了吧!
Python 字符串判断
以下代码演示了Python字符串的判断:
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式