刷题第二天,基础入门题目
题目来源:14.14.反向输出四位数_哔哩哔哩_bilibili
知识点:
1.列表的排序:
#list.sort() 不要忘记小括号
#或者
#sorted(list)
#这里是对原来的列表进行了排序,改变了原有的,需要用一个新的去接收
a = [3,58,8]
a.sort() #直接这样就行
print(a)
m= [34,65,48]
n = sorted(m)
print(m)
print(n)
2.素数的判断+列表的填充+函数的封装:
*一定要注意缩进,只要在for里面,就是在执行for循环
*列表的append: list.append()即可
*Flag是一个标识旗帜
#先封装函数,再进行逻辑
#判断素数,并把所有素数放进列表
def prime(n):
Flag = True
for i in range(2, n):
if n % i == 0:
Flag = False
break #跳出循环
return Flag
a = int(input("数字1: "))
b = int(input("数字2: "))
list = []
for i in range(a,b+1):
if prime(i):
list.append(i) #走完for循环,所有的i进来
print(list)
3.组合数字
有四个数字:1,2,3,4,能组成多少互不相同且无重复的三位数?各是多少?
"""有四个数字:1,2,3,4,能组成多少互不相同且无重复的三位数?各是多少?"""
for i in range(1,5):
for y in range(1,5):
for x in range(1,5):
if (i != y) and (i != x) and (y != x):
print(f"{i}{y}{x}")
*这题主要就是给一个实现“无重复”的条件
4.while嵌套之九九乘法表
"""打印乘法口诀表"""
#首先,九九乘法表里面,行和列都是在动的,所以有两个循环,嵌套循环
n = 1
for i in range(1,10):
print() #在第一个for循环里,每出来一个i,就换行一次
for n in range(1,i+1): #这里注意,每行有几个乘法公式是跟着i走的
print(f"\t{i}*{n}={n * i}",end=" ")
- 两个参数都在动,就是说明有两个循环,嵌套,接着就是找规律
- \t 是制表符,让他们对齐
5.经典题目之水仙花数目
找出水仙花数:三位数,各位数字立方和等于该数字本身
"""找出水仙花数:三位数,各位数字立方和等于该数字本身"""
for i in range(100,1000):
#怎么取到这三个数字,第一个笨方法是可以把int转为str,然后用索引
a = i%10
b = (i%100)//10
c = i//100
if a*a*a + b*b*b + c*c*c == i:
print(f"{i}是水仙花数")
#怎么取到三位数的三个数字
"""
n = 567
a = n%10 #个位数
b = (n%100)//10 #十位数
c = n//100 #百位数取整
"""
- 怎么拿到三位数的三个数字思路
- 第二个是,三位数,就是range(100,1000),如果是四位数就是(1000,10000)
6.反向输出
给一个四位数整数,反向输出对应的四位数
a = int(input("请输入四位数: "))
#字符串的切片,反转
a = str(a)
a = a[::-1]
a = int(a)
print(a)
切片:
字符串[开始索引:结束索引:步长]
7.判断是否为字母
a = input("输入: ")
result = a.isalpha() #返回的是bool值
if result:
print(f"{a}是字母")
else:
print(f"{a}不是字母")
a.isalpha函数,判断是不是字母,返回的是布尔值,注意,如果里面有一个不是字母,输出的就是false
12.5刷了6-15题。明天继续