例题引导:
Q:输入3个整数,按从小到大依次输出,用“->”符号相连: 例如:输入4,2,6,输出2 -> 4 -> 6
A:
a = int(input('请输入第一个整数:')) b = int(input('请输入第二个整数:')) c = int(input('请输入第三个整数:')) if (a > b): x = b b = a a = x if (a > c): x = c c = a a = x if (b > c): x = c c = b b = x print(a,'->',b,'->',c)学习引导:
if判断语句
while循环
continue、break的用法
for语句
该语句的语法格式如下:
#单条件判断: if condition_1: result_1 else: result_2 #多条件判断: if condition_1: result_1 elif: result_2 elif: result_3 else: result_4 ''' 现在我们做一个成绩评级的小程序 要求:按照90-100/80-89/60-79/40-59/小于39 划分五个等级 ''' score=eval(input("请输入成绩:\n")) #eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。 if (score>90)&(score<=100): print('该同学成绩为优') elif (score>80)&(score<=89): #多条件判断 print('该同学成绩为良') elif (score>60)&(score<=79): print('该同学成绩为良') elif (score>40)&(score<=59): print('该同学成绩为不及格') elif (score<39)&(score>0): print('该同学请自行退学') ''' 请输入成绩: 34 该同学请自行退学 '''1.在日常编码中if的使用率会很高,但是过度臃肿的if条件会增加代码的理解难度,导致最后只能自己看懂一些
for a in Data: if a.b: if a.c: if a.d: # do sth... for a in balabala: if not a.b: continue if not a.c: continue if not a.d: continue # do sth..如上两端代码,进行测试的时候其中的值可以随意,虽然判断逻辑不尽相同,但是目的是一样的,这时候执行效率会有差别吗?那么if这种不可能避免的代码怎么才能进行优化,提高执行效率呢?
2.体质指数(BMI)=体重(kg)÷身高^2(m),请根据公式构造一段代码,输入体重和身高,输出BMI指数结果:低于18.5:过轻18.5-25:正常25-28:过重28-32:肥胖高于32:严重肥胖
3.将一个正整数分解质因数。例如:输入90,打印出90=233*5
while语句格式:
while condition(判断条件): statements(执行语句)实例:计算1-100的和
#简单一点的写法 n=0 sum=0 while n<=100: sum +=n n+=1 print(sum) #规范一点的写法 # n = 100 # sum = 0 # counter = 1 # while counter <= n: # sum = sum + counter # counter += 1 # # print("1 到 %d 之和为: %d" % (n,sum)) #5050下面做一个小游戏,猜一下随机数
这里用到了random这个随机数模块,这个模块用于生成随机数。
其中random.randint(a,b)用于生成指定范围内的整数,参数a是下限,参数b是上限,生成的随机数介于二者之间。
import random n=random.randint(0,10) user_guess=int(input("Input your guess:")) if user_guess>n: print('try smaller...') elif user_guess<n: print('try bigger...') else: print('Bingo!You got it!') print(n) ''' Input your guess:9 try smaller... 1 '''上面的这串程序只能猜一次,那如果我们想要猜出结果呢?这个时候就要用到循环。下面我们对上面的代码进行优化
import random n = random.randint(0, 10) user_guess = int() while user_guess != n: user_guess = int(input("Input your guess:")) if user_guess > n: print('try smaller...') elif user_guess < n: print('try bigger...') else: print('Bingo!You got it!') print(n) ''' Input your guess:3 try smaller... Input your guess:1 Bingo!You got it! 1 '''1.丑数是只包含质因数 2, 3, 5 的正整数。控制台输入一个正整数,判断其是否为丑数。
2.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号。
3.使用while循环输出1-2+3-4+5.....+99的和。
continue是终止本次循环
break是终止循环
#continue举例 #输出十以内小于等于4和大于等于7的数 count=0 while count<10: count +=1 if count>4 and count<7: continue print(count) ''' 1 2 3 4 7 8 9 10 '''continue + else 的用法
count=0 while count<10: count +=1 if count>4 and count<7: #当数字满足上述条件时,执行continue,终止本次循环,不执行打印语句。 continue print(count) else: print('循环正常结束') ''' 1 2 3 4 7 8 9 10 循环正常结束 '''break的用法
count=0 while count<10: count +=1 if count>4: #当数字大于4的时候执行break,终止循环 break print(count) else: print('循环正常结束') ''' 1 2 3 4 '''1.定义用户名“python”和密码“666666”,控制台提示用户输入用户名和密码,判断用户名和密码是否正确。
输入正确则跳出循环,输出“你好!”,不正确则提示“验证失败,请重新输入!”并继续提示用户输出用户名和密码,直到用户输入正确的信息,程序结束。
for循环可以遍历任何序列的所有元素
for语句的一般格式如下:
for variable(变量) in [sequence(序列)]: statements(执行语句) else: statements(执行语句)循环实例:
a=['welcome','to','data','science'] for i in a: #遍历数组内的每一个元素并且打印 print (i) for i in 'DataScience': #遍历该字符串的每一个元素且打印 print (i) print('遍历结束') ''' welcome to data science D a t a S c i e n c e 遍历结束 '''for 循环嵌套和while 循环嵌套的案例演示
for 循环嵌套格式
for variable in seuqence: for veriable_ in sequence_: statements_ statements #while 循环嵌套格式 while condition: while condition_: statements_ statements #for 和 while 也可相互嵌套判断1-20之间哪些是质数
i = 2 while(i < 20): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j): print (i, " 是质数") i = i + 1 print ("结束!") ''' 2 是质数 3 是质数 5 是质数 7 是质数 11 是质数 13 是质数 17 是质数 19 是质数 结束! '''1.在一行中输入8个人的身高(按空格分隔),输出8人的身高平均值和身高超过平均值的数:
例如:输入166 178 192 188 173 169 170 172,
输出:avg = 176.0 / 178 192 188
2.将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入待换的零钱数额x∈(8,100)。
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
例如,输入13,输出如下:
fen5:2, fen2:1, fen1:1, total:4 fen5:1, fen2:3, fen1:2, total:6 fen5:1, fen2:2, fen1:4, total:7 fen5:1, fen2:1, fen1:6, total:8 count = 43.输入行数,输出高度为该行数的等边三角形,每行个数递增1。例如输入3,输出:
* * * * * *4.计算10到20000之间,所有质数,并思考执行时间(在进行大数据量运算时,代码执行效率会影响很多)
5.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程找出1000以内的所有完数。
点击解锁即可扫码加入学习
我
爱
学
习
好文章,我 在看❤