首页 > 分享 > Python学习10

Python学习10

一、如何判断输入的数是否是回文数
回文数如12321,个位与万位相同,十位与千位相同
方法(1):利用字符串的逆整切片与原有字符串进行比较是否相等。如下:

num = input("请输入一个数字:") new_num = num[::-1] if num == new_num: print("是回文数") else: print("不是回文数") 123456'

方法(2):通过索引比较,并设置标志位,如下:

num = input("请输入一个数字:") l = len(num) tag = 1 for i in range(l//2): if num[i]!=num[l-i-1]: tag = 0 if tag: print("是回文数") else: print("不是回文数") 12345678910'

方法(3)通过索引比较,利用for—else结构,如下:
当for循环正常结束(即不执行break)时会执行else语句中的内容

num = input("请输入一个数字:") l = len(num) for i in range(l//2): if num[i]!=num[l-i-1]: print("不是回文数") break else: print("是回文数") 12345678'

二、九九乘法表打印
方法(1)采用for循环打印

for i in range(1,10): for j in range(1,i+1): print("{}*{}={}".format(j,i,i*j),end="t") print() 1234'

方法(2)采用while循环打印

i=1 while i<=9: j=1 while j<=i: print("{}*{}={}".format(j,i,i*j),end="t") j+=1 print() i+=1 12345678'

三、打印图形
3.1、打印直角三角形
方法(1)采用一层循环

for i in range(1,9): print("*"*i) 12'

方法(2)采用两层循环

for i in range(1,9): for j in range(1,i+1): print("*",end="") print() 1234

3.2、打印空心直角三角形

for i in range(1,9): for j in range(1,i+1): if j ==1 or j ==i or i==8: print("*",end="") else: print(" ",end="") print() 1234567'

输出:

* ** * * * * * * * * * * ******** 12345678

3.3、打印等腰三角形
思路:先打印出一个倒三角的空格图,再打两个直角三角形

for i in range(1,9): for k in range(1,9-i): print(" ",end="") for j in range(1,i+1): print("*",end="") for j in range(1,i): print("*",end="") print() 12345678'

简化为:

for i in range(1, 11): for k in range(1, 11 - i): print(" ", end="") for j in range(1, 2 * i): print("*", end="") print() 123456'

输出:

* *** ***** ******* ********* *********** ************* *************** 12345678

3.4、打印菱形
方法(1)解题思路:相当于打印两个等腰三角形,需要注意的是最长的一行只能打印一次

for i in range(1, 9): for k in range(1, 9 - i): print(" ", end="") for j in range(1, 2*i): print("*", end="") print() for i in reversed(range(1,8)): for k in range(1, 9 - i): print(" ", end="") for j in range(1, 2*i): print("*", end="") print() 1234567891011121314'

输出:

* *** ***** ******* ********* *********** ************* *************** ************* *********** ********* ******* ***** *** *

12345678910111213141516

方法(2)使用center方法打印菱形
原理如下:

print(("*"*1).center(5," ")) print(("*"*3).center(5," ")) print(("*"*5).center(5," ")) print(("*"*3).center(5," ")) print(("*"*1).center(5," ")) 12345'

输出:

* *** ***** *** * 12345

改进之后的代码为:

for i in range(1, 8, 2): print(("*" * i).center(7, " ")) for i in reversed(range(1, 6, 2)): print(("*" * i).center(7, " ")) 1234'

输出:

* *** ***** ******* ********* ******* ***** *** * 123456789

相关知识

Python机器学习基础教程
Python学习手册
推荐一些python的论坛,一起学习才有意思!
Python 小白的学习第一天
[Python] 机器学习
Python机器学习项目:农作物病虫害自动识别系统
科学网—为什么生态学家要学习Python或者R?
Python机器学习教程——逻辑回归
python机器学习
教你用Python浪漫表白

网址: Python学习10 https://m.huajiangbk.com/newsview1447787.html

所属分类:花卉
上一篇: 上海现货 玫瑰花提取物
下一篇: 玫瑰花种植及深加工一体化专项债可