首页 知识 正文
文章详情

目录:

1.python例子练手

2.python例题100道

3.python基础例子

4.python简单例题

5.python例题100

6.python例题1000道

7.python入门例子

1.python例子练手

以下所有测试实例来自于菜鸟教程:https://www.runoob.com/python3/python3-examples.html 1:Python 数字求和自己的代码#用户输入数字,并转换为浮点型(float)

2.python例题100道

a = float(input(请输入数字1:)) b = float(input(请数入数字2:)) #数字求和 sum = a+b # 显示计算结果print({0}和{1}的和为{2}.format(a,b,sum))

3.python基础例子

执行结果:请输入数字1: > 8.321 请输入数字2: > 4.2312 8.321和4.2312的和为12.5522菜鸟教程参考代码# 用户输入数字 num1 = input(输入第一个数字:) num2 = input(

4.python简单例题

输入第二个数字:) # 求和 sum = float(num1) + float(num2) # 显示计算结果print(数字 {0} 和 {1} 相加结果为: {2}.format(num1, num2, sum))

5.python例题100

执行结果:输入第一个数字:1.5 输入第二个数字:2.5 数字 1.5 和 2.5 相加结果为: 4.0或者直接一行代码执行print(两数之和为 %.1f %(float(input(输入第一个数字:

6.python例题1000道

))+float(input(输入第二个数字:))))%.1f 指的输出保留一位小数的浮点数%f 表示其输出格式为浮点数其他人参考笔记写了一个报错重新输入的处理while1: x=input(。

7.python入门例子

“请输入数字x的值”) y=input(“请输入数字y的值”) try: sum=float(x)+float(y) except

: print(“输入的数字格式不正确,请重新输入”) continueelse: print(f”两个数字之和为

{sum:.2f}”) breakprint(f” “)格式化的字符串文字前缀为 f ,和接受的格式字符串相似str.format(),以 f 开头,包含的{ }表达式在程序运行时会被表达式的值代替。

列子:w = 2print(%.2f %w) print(fw = {w:.2f}) #执行结果:2:00 w = 2.002:Python 平方根自己的代码num = float(input(“请输入数字”

)) a = num ** 0.5 print(f%.2f的平方根为{a:.2f}%num)执行结果:请输入数字 78 78.00的平方根为8.83菜鸟教程参考代码代码1num = float(input(

请输入一个数字: )) num_sqrt = num ** 0.5 print( %0.3f 的平方根为 %0.3f%(num ,num_sqrt))执行结果:请输入一个数字:44.000的平方根为2.000

代码2# 计算实数和复数平方根 # 导入复数数学模块 import cmath num = int(input(“请输入一个数字: “)) num_sqrt = cmath.sqrt(num) print

({0} 的平方根为 {1:0.3f}+{2:0.3f}j.format(num ,num_sqrt.real,num_sqrt.imag))执行结果:请输入一个数字:-8-8的平方根为0.000+2.828j

cmath.sqrt(x) x的开方,以上支持 负数 和 复数 的平方根注:可能版本原因,本人3.8版本,菜鸟教程需要用到cmath.sqrt模块支持负数和复数,但是我测试取幂的方式num ** 0.5,同样支持负数 和 复数 的平方根运算。

3:Python 二次方程主要根据公式法求解,上过初中的公式二次方程求根公式法:Δ=b^2-4ac,x=[-b±(b^2-4ac)^(1/2)]/2a自己的代码a = float(input(输入 a: 。

)) b = float(input(输入 b: )) c = float(input(输入 c: )) d = b**2-4*a*c x = (-b+d**0.5)/(2*a) x2 = (-b-d**

0.5)/(2*a) print(f方程式{a:.2f}x^2+({b:.2f}x)+({c:.2f})中x值为{x:.2f}和{x2:.2f})执行结果:输入a:>1输入b:>-10输入c:>24方程式1.00x^2+(-10.00x)+(24.00)中x值为6.00和4.00

菜鸟教程参考代码# 二次方程式 ax**2 + bx + c = 0# a、b、c 用户提供,为实数,a ≠ 0# 导入 cmath(复杂数学运算) 模块 import cmath a = float

(input(输入 a: )) b = float(input(输入 b: )) c = float(input(输入 c: )) # 计算 d = (b**2) – (4*a*c) # 两种求解方式

sol1 = (-b-cmath.sqrt(d))/(2*a) sol2 = (-b+cmath.sqrt(d))/(2*a) print(结果为 {0} 和 {1}.format(sol1,sol2))

执行结果:输入a:1输入b:5输入c:6结果为(-3+0j)和(-2+0j)菜鸟教程同上面例子一样,用到cmath.sqrt模块支持负数和复数,我用取幂的方式num ** 0.5,同样支持负数 和 复数。

4:Python 计算三角形的面积三角形面积公式有很多,这里简单的就用到海伦-秦九韶公式:设三角形ABC三个角A、B、C的对边分别为a、b、c,三角形ABC的面积为S,则S=“p(p-a)(p-b)(p-c)的算术平方根”。

其中p等于三角形周长的一半即p=(1/2)x(a+b+c)自己的代码a = float(input(输入 a: )) b = float(input(输入 b: )) c = float(input(输入 c:

)) p=(a+b+c)/2 s=(p*(p-a)*(p-b)*(p-c))**0.5 print(f边长为{a:.2f},{b:.2f},{c:.2f}的三角形面积为{s:.2f})执行结果:输入a:

3输入b:4输入c:5边长为3.00,4.00,5.00的三角形面积为6.00菜鸟教程参考代码a = float(input(输入三角形第一边长: )) b = float(input(输入三角形第二边长:

)) c = float(input(输入三角形第三边长: )) # 计算半周长 s = (a + b + c) / 2 # 计算面积 area = (s*(s-a)*(s-b)*(s-c)) ** 0.5

print(三角形面积为 %0.2f %area)执行结果:输入三角形第一边长:5输入三角形第二边长:6输入三角形第三边长:7三角形面积为14.70其他人参考笔记a = float (input (输入三角形第一边长:

)) b = float (input (输入三角形第二边长:)) c = float (input (输入三角形第三边长:)) while a+b

(输入的边构不成三角形,请重新输入!) a = float (input (输入三角形第一边长:)) b = float (input (输入三角形第二边长:)) c = float

(input (输入三角形第三边长:)) s = (a+b+c) /2 area = (s*(s-a)*(s-b)*(s-c))**0.5 print (三角形面积为:%0.2f%area)加了三角形判断

5:Python 计算圆的面积圆的公式:S=π r^2自己的代码pi = 3.14 a = float (input (输入圆的半径r:)) s=pi*a**2print(f圆面积为:{s:.2f})

执行结果:输入圆的半径r: 3 圆面积为:78.50菜鸟教程参考代码用到了定义方法#定义一个方法来计算圆的面积deffindArea(r): PI = 3.142return PI * (r*r)

#调用方法 print(“圆的面积为 %.6f” % findArea(5))执行结果:圆的面积为 78.550000其他人参考笔记创建函数,可重复输入且非数字不会中#计算圆的面积import math

defcirarea(): r=0while r <=0: print(请输入大于0的数字!) try: r=float(input(您所要求的圆的半径是:

)) except: print(输入错误,请输入数字!) else: p=math.pi square=p*r**

2 print(您所求的圆的面积为:%.4f%square) cirarea()6:Python 随机数生成自己的代码根据输入的位数,生成随机数import random def random

(length): min = 10**(length-1) max = 10**length -1returnrandom.randint(min,max) length = int(input(

“请输入随机的位数:”)) print(random(length))执行结果:请输入随机的位数:>514771菜鸟教程参考代码# 导入 random(随机数) 模块 import randomprint

(random.randint(0,9))执行以上代码输出结果为:4以上实例我们使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字(0 到 9),该函数的语法为:

random.randint(a,b)函数返回数字 N ,N 为 a 到 b 之间的数字(a <= N <= b),包含 a 和 b其他人参考笔记random() 函数中常见的函数如下:import random

print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数print( random.random() ) # 产生 0 到 1 之间的随机浮点数print( random.uniform(

1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数print( random.choice(tomorrow) ) # 从序列中随机选取一个元素print( random.randrange(

1,100,2) ) # 生成从1到100的间隔为2的随机整数 a=[1,3,5,6,7] # 将序列a中的元素顺序打乱 random.shuffle(a) print(a)Python 生成随机数、随机字符串

import random import string # 随机整数: printrandom.randint(1,50) # 随机选取0到100间的偶数: printrandom.randrange(

0, 101, 2) # 随机浮点数: printrandom.random() printrandom.uniform(1, 10) # 随机字符: printrandom.choice(abcdefghijklmnopqrstuvwxyz!@#$%^&*()

) # 多个字符中生成指定数量的随机字符: printrandom.sample(zyxwvutsrqponmlkjihgfedcba,5) # 从a-zA-Z0-9生成指定数量的随机字符: ran_str = .join(

random.sample(string.ascii_letters + string.digits, 8)) print ran_str # 多个字符中选取指定数量的字符组成新字符串: print .join(

random.sample([z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a], 5)) # 随机选取字符串: printrandom.choice([

剪刀, 石头, 布]) # 打乱排序 items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] printrandom.shuffle(items)7:Python 摄氏温度转华氏温度

首先了解换算公式:华氏度(℉)=32+摄氏度(℃)×1.8,摄氏度(℃)=(华氏度(℉)-32)÷1.8自己的代码a = int(input(“请选择需要输入的温度,1:摄氏度2:华氏度”)) defshe

(tem): hua = 32 + tme * 1.8return hua defhua(tem): she = (tem-32) / 1.8return she if a == 1: tem = float(input(

“请输入摄氏温度:”)) b = she(tem) print(f{tem:f}摄氏度,为{b:.4f}华氏度) elif a == 2: tem = float(input(“请输入华氏温度:”

)) b = hua(tem) print(f{tem:f}华氏度,为{b:.4f}摄氏度) else: print(“请输入正确的值1或者2”)执行结果:请选择需要输入的温度,1:摄氏度2:华氏度。

>1请输入摄氏温度:>3838.00摄氏度,为100.40华氏度菜鸟教程参考代码# 用户输入摄氏温度# 接收用户输入 celsius = float(input(输入摄氏温度: )) # 计算华氏温度

fahrenheit = (celsius * 1.8) + 32 print(%0.1f 摄氏温度转为华氏温度为 %0.1f %(celsius,fahrenheit))执行以上代码输出结果为:输入摄氏温度:

3838.0摄氏温度转为华氏温度为100.4其他人参考笔记a = input(“请输入带有符号的温度值: “) if a[-1] in [F,f]: C = (eval(a[0:-1]) – 32)/1.8

print(“转换后的温度是{:.1f}C”.format(C)) elif a[-1] in [C,c]: F = 1.8*eval(a[0:-1]) + 32 print(“转换后的温度是{:.1f}F”

.format(F)) else: print(“输入格式错误”)执行以上代码输出结果为:请输入带有符号的温度值: 38C 转换后的温度是100.4F8:Python 交换变量自己的代码a = input(

“a的值:”) b = input(“b的值:”) print(f”a值为{a},b值为{b}”) a,b = b,a print(f”交换后a值为{a},b值为{b}”)执行以上代码输出结果为:a的值:

>10b的值:>20a值为10,b值为20交换后a值为20,b值为10菜鸟教程参考代码# 用户输入 x = input(输入 x 值: ) y = input(输入 y 值: ) # 创建临时变量,并交换 temp = x x = y y = temp

print(交换后 x 的值为: {}.format(x)) print(交换后 y 的值为: {}.format(y))执行以上代码输出结果为:输入x值:2输入y值:3交换后x的值为:3交换后y的值为:

2以上实例中,我们创建了临时变量 temp ,并将 x 的值存储在 temp 变量中,接着将 y 值赋给 x,最后将 temp 赋值给 y 变量不使用临时变量# 用户输入 x = input(输入 x 值: 。

) y = input(输入 y 值: ) # 不使用临时变量 x,y = y,x print(交换后 x 的值为: {}.format(x)) print(交换后 y 的值为: {}.format

(y))其他人参考笔记不使用临时变量:# 用户输入 x = int(input(输入 x 值: )) y = int(input(输入 y 值: )) x = x + y y = x – y x = x – y

print(交换后 x 的值为: {}.format(x)) print(交换后 y 的值为: {}.format(y))异或形式:#交换变量x = int(input(输入 X 值:)) y = int(input(

输入 Y 值:)) x = x ^ y y = x ^ y x = x ^ y print(交换后的 X 值为:,x) print(交换后的 Y 值为:,y)9:Python 判断字符串是否为数字自己的代码

逻辑,通过float 类型判断,数字float不会报错,报错就不是数字除了异常报错,用try except 语法defisnumber(a):try: float(a) 。

return (f”{a}是数字”) except: return (f”{a}不是数字”) a = input(“请输入值:”) print(isnumber(a))执行以上代码输出结果为:

请输入值:1.213123 1.213123是数字 请输入值:asdasd不是数字菜鸟教程参考代码defis_number(s):try: float(s) return

Trueexcept ValueError: passtry: import unicodedata unicodedata.numeric(s)

returnTrueexcept (TypeError, ValueError): passreturnFalse# 测试字符串和数字 print(is_number(foo)) # False

print(is_number(1)) # True print(is_number(1.3)) # True print(is_number(-1.37)) # True print(is_number(

1e3)) # True# 测试 Unicode# 阿拉伯语 5 print(is_number(٥)) # True# 泰语 2 print(is_number(๒)) # True# 中文数字

print(is_number(四)) # True# 版权号 print(is_number(©)) # False执行以上代码输出结果为:FalseTrueTrueTrueTrueTrueTrue

TrueFalse更多方法Python isdigit() 方法检测字符串是否只由数字组成#!/usr/bin/python3 str = “123456”; print (str.isdigit()) 。

str = “Runoob example….wow!!!” print (str.isdigit())以上实例输出结果如下:TrueFalsePython isnumeric() 方法检测字符串是否只由数字组成。

这种方法是只针对unicode对象isnumeric() 方法检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字指数类似 ² 与分数类似 ½ 也属于数字。

#!/usr/bin/python3 str = “runoob2016” print (str.isnumeric()) str = “23443434” print (str.isnumeric())

以上实例输出结果如下:FalseTrue10:Python 判断奇数偶数自己的代码num = int(input(“输入一个数字: “)) if (num % 2) == 0: print(f”{num}

是偶数”) else: print(f”{num} 是奇数”)以上实例输出结果如下:输入一个数字:22是奇数输入一个数字:2121是奇数菜鸟教程参考代码num = int(input(“输入一个数字: “

)) if (num % 2) == 0: print(“{0} 是偶数”.format(num)) else: print(“{0} 是奇数”.format(num))执行以上代码输出结果为:

输入一个数字:33是奇数其他人代码参考优化加入输入判断:whileTrue: try: num=int(input(输入一个整数:)) #判断输入是否为整数except ValueError:

#不是纯数字需要重新输入 print(“输入的不是整数!”) continueif num%2==0: print(偶数) else: print(

奇数) break简洁就是美丽num = eval(input(Number:\n)) print({} is .format(num) + (even number.if num % 2 == 。

0elseodd number.))11:Python 判断闰年自己的代码year = int(input(“输入年份:”)) if (year % 100) == 0: if (year %

400) == 0: print(f”{year}是闰年”) else: print(f”{year}不是闰年”) else: if (year % 4) ==

0: print(f”{year}是闰年”) else: print(f”{year}不是闰年”)执行以上代码输出结果为:输入年份:19001900不是闰年输入年份:2004

2004是闰年菜鸟教程参考代码year = int(input(“输入一个年份: “)) if (year % 4) == 0: if (year % 100) == 0: if (year %

400) == 0: print(“{0} 是闰年”.format(year)) # 整百年能被400整除的是闰年 else: print(

“{0} 不是闰年”.format(year)) else: print(“{0} 是闰年”.format(year)) # 非整百年能被4整除的为闰年 else:

print(“{0} 不是闰年”.format(year))执行以上代码输出结果为:输入一个年份:20002000是闰年输入一个年份:20112011不是闰年其他人代码参考但其实 Python 的 calendar 库中已经封装好了一个方法 isleap() 来实现这个判断是否为闰年:

>>> import calendar >>> print(calendar.isleap(2000)) True>>> print(calendar.isleap(1900)) False实例import

calendar year = int(input(“请输入年份:”)) check_year=calendar.isleap(year) if check_year == True: print

(“闰年”) else: print (“平年”)12:Python 获取最大值函数自己的代码print(max(1, 2))执行结果:2菜鸟教程参考代码使用max()方法求最大值:# 最简单的

print(max(1, 2)) print(max(a, b)) # 也可以对列表和元组使用 print(max([1,2])) print(max((1,2))) # 更多实例 print(

“80, 100, 1000 最大值为: “, max(80, 100, 1000)) print(“-20, 100, 400最大值为: “, max(-20, 100, 400)) print(“-80, -20, -10最大值为: “

, max(-80, -20, -10)) print(“0, 100, -400最大值为:”, max(0, 100, -400))执行以上代码输出结果为:2b2280,100,1000最大值为:1000

-20,100,400最大值为:400-80,-20,-10最大值为:-100,100,-400最大值为:10013:Python 质数判断一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数。

自己的代码num = int(input(“输入整数:”)) if num > 1: for i in range(2,num): if num % i == 0:

print(f”{num}不是质数”) breakelse: print(f”{num}是质数”)执行结果:输入整数:2323是质数输入整数:2525不是质数注意点:range 是包含左边,不包含右边,如:range(1,5)范围为: 1,2,3,4。

菜鸟教程参考代码# 用户输入数字 num = int(input(“请输入一个数字: “)) # 质数大于 1if num > 1: # 查看因子for i in range(2,num):

if (num % i) == 0: print(num,”不是质数”) print(i,”乘于”,num//i,”是”,num) break

else: print(num,”是质数”) # 如果输入的数字小于或等于 1,不是质数else: print(num,”不是质数”)执行以上代码输出结果为:请输入一个数字:

11不是质数请输入一个数字:44不是质数2乘于2是4请输入一个数字:55是质数其他人代码参考原作者的算法基本正确,但时间复杂度较高,在判断一个大数是质数还是合数的情况下,应该在查看因子那里的循环中使用到平方根。

代码如下:# Python 程序用于检测用户输入的数字是质数还是合数 import math # 用户输入数字 num = int(input(“请输入一个数字: “)) # 质数大于 1if num >

1: # 找到其平方根( √ ),减少算法时间 square_num = math.floor( num ** 0.5 ) # 查找其因子for i in range(2, (square_num+

1)): #将平凡根加1是为了能取到平方根那个值if (num % i) == 0: print(num, “是合数”) print(i, “乘于”, num // i,

“是”, num) breakelse: print(num, “是质数”) # 如果输入的数字小于或等于 1,不是质数else: print

(num, “既不是质数,也不是合数”)原理是用了开根号法:假如一个数N是合数,它有一个约数a,那么有a×b=N则a、b两个数中必有一个大于或等于根号N,一个小于或等于根号N因此,只要小于或等于根号N的数(1除外)不能整除N,则N一定是素数。

14:Python 输出指定范围内的素数同上,只是加了for取num值自己的代码minn = int(input(“输入最小整数:”)) maxn = int(input(“输入最大整数:”)) for。

num in range(minn,maxn+1): if num > 1: for i in range(2,num): if num % i == 0:

print(f”{num}不是质数”) breakelse: print(f”{num}是质数”)执行结果:输入最小整数:11输入最大整数:2011是质数12

不是质数13是质数14不是质数15不是质数16不是质数17是质数18不是质数19是质数20不是质数菜鸟教程参考代码lower = int(input(“输入区间最小值: “)) upper = int(

input(“输入区间最大值: “)) for num in range(lower,upper + 1): # 素数大于 1if num > 1: for i in range(

2,num): if (num % i) == 0: breakelse: print(num)其他人代码参考与前面判断是否是质数一样,作者算法中未使用到”开根号法”来节约时间复杂度,同时为加入个数等说明,因此对其改进如下:

import math # 输出指定范围内的素数 # 用户输入范围 lower = int(input(“输入区间最小值: “)) upper = int(input(“输入区间最大值: “)) print

(“素数结果如下:”) print(“=”*10) pri_num = 0 com_num = 0for num in range(lower, upper + 1): # 找到其平方根( √ ),减少算法时间 square_num =

math.floor(num ** 0.5) # 素数大于 1if num > 1: for i in range(2, (square_num + 1)):

if (num % i) == 0: com_num += 1breakelse: pri_num += 1print(num) print(“=”

*10) print(com_num,个合数) print(pri_num,个素数)15:Python 阶乘实例整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,0的阶乘为1即:n!=1×2×3×…×n。

自己的代码num = int(input(“请输入一个数字: “)) s = 1if num > 0: for i in range(1,num+1): s = s * i print

(f”{num}的阶乘是{s}”)执行结果:请输入一个数字:1010的阶乘是3628800菜鸟教程参考代码# 通过用户输入数字计算阶乘# 获取用户输入的数字 num = int(input(“请输入一个数字: “

)) factorial = 1# 查看数字是负数,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))

执行以上代码输出结果为:请输入一个数字:33的阶乘为6其他人代码参考查了一下 math 库的帮助,发现自带阶乘函数所以代码可以简洁一点import math num = int(input(“请输入一个数字:”。

)) if num < 0: print(“负数是没有阶乘的!”) else: print(“{0} 的阶乘为 {1}”.format(num, math.factorial(num)))

16:Python 九九乘法表自己的代码for i in range(1,10): for j in range(1,i+1): print(f”{j}*{i}={i*j}”,end=

” “) print()执行结果:1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=143*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=40

6*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81print() 默认为换行,省略值end=/n,及print() = print(end=/n),

print(“aa”,end=” ,”),及更改了/n默认值,不会换行,而是以“ ,”结尾菜鸟教程参考代码# 九九乘法表 for i in range(1, 10): for j in range。

(1, i+1): print({}x{}={}\t.format(j, i, i*j), end=) print()通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。

其他人代码参考一句话输出99乘法表,可以参考一下:print(\n.join(.join(“%dx%d=%-2d” % (x, y, x*y) for x in range(1, y+1)) for y in

range(1, 10)))17:Python 斐波那契数列斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1从第三项开始,每一项都等于前两项之和。

自己的代码如果在细一点,需要加个if大于等于1的判断num = int(input(“输入大于1的范围值:”)) a = 0 b = 1print(“0,1”,end=,) while True: c = a + b a,b=b,c

if c > num: breakprint(c,end=,)执行结果:输入大于1的范围值:1000,1,1,2,3,5,8,13,21,34,55,89,菜鸟教程参考代码# 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,我写的是范围,这个是位数其他人代码参考用函数方法,值得参考deffib(n): a, b = 0, 1while a < n: print(a, end=) a, b = b, a+b print() fib(

1000) # 取值范围可以任意# 输出结果如下:# 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 18:Python 阿姆斯特朗数如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。

例如1^3 + 5^3 + 3^3 = 1531000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407自己的代码显示范围内的所有阿姆斯特朗数,用字符串的形式,获取每位数的值并计算。

num=int(input(“请输入范围值:”)) for n in range(1,num+1): sum = 0 numlen=len(str(n)) # print(f”{n}的位数为{numlen}”

) for i in range(0,numlen): s = int(str(n)[i]) s1 = s**numlen sum = sum + s1 #

print(f”{n}的第{i}位为{s},{s}的{numlen}次方为{s1},和的值为{sum}”) if sum == n: print(f”{n}为 阿姆斯特朗数”

)执行结果:输入范围:100001为阿姆斯特朗数2为阿姆斯特朗数3为阿姆斯特朗数4为阿姆斯特朗数5为阿姆斯特朗数6为阿姆斯特朗数7为阿姆斯特朗数8为阿姆斯特朗数9为阿姆斯特朗数153为阿姆斯特朗数370

为阿姆斯特朗数370为阿姆斯特朗数371为阿姆斯特朗数407为阿姆斯特朗数1634为阿姆斯特朗数6688为阿姆斯特朗数8208为阿姆斯特朗数9474为阿姆斯特朗数菜鸟教程参考代码菜鸟教程,是通过除数余数来获取每位数的值。

# Python 检测用户输入的数字是否为阿姆斯特朗数 # 获取用户输入的数字num = int(input(“请输入一个数字: “)) # 初始化变量 sumsum = 0# 指数n = len(str(num))

# 检测temp = numwhiletemp > 0:digit = temp % 10sum+= digit ** ntemp//= 10 # 输出结果ifnum == sum:print(num,”是阿姆斯特朗数”)

else: print(num,”不是阿姆斯特朗数”)执行以上代码输出结果为:请输入一个数字:345345不是阿姆斯特朗数请输入一个数字:153153是阿姆斯特朗数请输入一个数字:16341634

是阿姆斯特朗数获取指定期间内的阿姆斯特朗数lower = int(input(“最小值: “))upper = int(input(“最大值: “))fornum in range(lower,upper + 1):

# 初始化 sumsum = 0 # 指数n = len(str(num)) # 检测temp = numwhiletemp > 0:digit = temp % 10sum+= digit ** n

temp//= 10ifnum == sum:print(num)执行以上代码输出结果为:最小值:1最大值:10000123456789153370371407163482089474其他人代码参考获取指定期间内的阿姆斯特朗数

lower=int(input(“Please input a number: “)) upper=int(input(“Please input a number: “)) sum=0for num

in range(lower,upper): l = len(str(num)) for n in str(num): sum=sum+int(n)**l if num==sum:

print(num) sum=019:Python 十进制转二进制、八进制、十六进制python默认方法转换值自己的代码n=int(input(“请输入值:”)) print(f”{n}的二进制为

{bin(n)},十进制为{oct(n)},十六进制为{hex(n)}”)执行结果请输入值:1010的二进制为0b1010,十进制为0o12,十六进制为0xa菜鸟教程参考代码# 获取用户输入十进制数 dec =

int(input(“输入数字:”)) print(“十进制数为:”, dec) print(“转换为二进制为:”, bin(dec)) print(“转换为八进制为:”, oct(dec)) print

(“转换为十六进制为:”, hex(dec))执行以上代码输出结果为:输入数字:5十进制数为:5转换为二进制为:0b101转换为八进制为:0o5转换为十六进制为:0x5其他人代码参考具体实现十进制到二进制:

defdec2bin(num): l = [] if num < 0: return- + dec2bin(abs(num)) whileTrue: num, remainder = divmod(num,

2) l.append(str(remainder)) if num == 0: return .join(l[::-1]) 十进制到八进制:def

dec2oct(num): l = [] if num < 0: return- + dec2oct(abs(num)) whileTrue: num, remainder = divmod(num,

8) l.append(str(remainder)) if num == 0: return .join(l[::-1])十进制到十六进制:base = [str(

x) forx in range(10)] + [ chr(x) forx in range(ord(A),ord(A)+6)] def dec2hex(num): l = [] if num <

0: return- + dec2hex(abs(num)) while True: num,rem = divmod(num, 16) l.append(base[rem])

if num == 0:20:Python ASCII码与字符相互转换同上,用python默认方法转换值自己的代码n=input(“请输入字符:”) print(f”{n}的ASCII 码为{ord(n)}

“)同理,chr(a))为ASCII码转字符执行结果:请输入字符:a a的ASCII 码为97菜鸟教程参考代码c = input(“请输入一个字符: “) # 用户输入ASCII码,并将输入的数字转为整型。

a = int(input(“请输入一个ASCII码: “)) print( c + ” 的ASCII 码为”, ord(c)) print( a , ” 对应的字符为”, chr(a))执行以上代码输出结果为:

请输入一个字符:a请输入一个ASCII码:101a的ASCII码为97101对应的字符为e

相关推荐
四月实战公开课丨高效公式让小白也能做出大神级项目作品
目录: 1.四月攻势 2.四月战报 1.四月攻势 全世界风靡的网课  如何进行1V1、1VN通讯?  如何用C4D做出dribbble大神作…
头像
知识 2024-06-06
Python学习教程公开课:好玩的Python
目录: 1.python入门公开课 2.python讲课视频 3.python课程入门 4.python的优质课 5.python 课程真的…
头像
知识 2024-06-06
MIT Python 公开课第三课要点-算法是怎样演进的
目录: 1.python算法课程 2.python算法教程这本书怎么样 3.python 算法导论 4.python算法基础 5.pytho…
头像
知识 2024-06-06
MIT Python 公开课第四课要点-函数也是一个对象
目录: 1.mit python 2.mit python 公开课 3.mit python凯撒密码 4.mit python作业答案 5.…
头像
知识 2024-06-06
清华教授用了12小时讲完的Python,整整311集,拿走不谢!
目录: 1.清华大学python视频 2.清华python用什么课本 3.python清华大学学生用书 4.清华大学出版社python 5.…
头像
知识 2024-06-06
自学c4d要多久才能出去工作 学习c4d建模渲染
目录: 1.自学c4d需要多久 2.学好c4d需要多久 3.c4d自学能学会么 4.自学c4d能找到工作吗 5.c4d学多久可以找工作 6.…
头像
知识 2024-06-06