一、如何判断输入的数是否是回文数:
回文数如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
上一篇: 上海现货 玫瑰花提取物 |
下一篇: 玫瑰花种植及深加工一体化专项债可 |