Python基础学习9

分支和循环

while循环:条件为真时,执行循环体
while 条件:
循环体

for循环(计数器循环)
语法:
for 目标 in 表达式:
循环体

  • range():
    在这里插入图片描述range(第一个数,结束数字后的数字,间隔的值)
    list函数:
    ist() 方法用于将元组转换为列表。
aTuple = (123, 'xyz', 'zara', 'abc');
aList = list(aTuple)
 
print "列表元素 : ", aList

元组和列表:
Python 的元组与列表类似,不同之处在于:
0.元组的元素不能修改(删除,添加),但是可以连接。

1.元组使用小括号,列表使用方括号。

2.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

break 和 continue:

break:跳出循环
continue:终止本轮循环,开始下一轮循环

  1. 下面的循环会打印多少次"I Love FishC"?
1.	for i in 5:
2.	    print('I Love FishC')

5

2.回顾一下 break 和 continue 在循环中起到的作用?
break:跳出循环
continue:终止本轮循环,开始下一轮循环

3.请谈下你对列表的理解?
列表类似于一维的矩阵,将多个元素存在于一个空间,可以进行更改,增加,删除等操作。

  1. 请问 range(10) 生成哪些数?
    0 1 2 3 4 5 6 7 8 9

  2. 目测以下程序会打印什么?

1.	while True:
2.	    while True:
3.	        break
4.	        print(1)
5.	    print(2)
6.	    break
7.	print(3)

23

  1. 什么情况下我们要使循环永远为真?

  2. 【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?

1.	i = 0
2.	string = 'ILoveFishC.com'
3.	while i < len(string)):
4.	    print(i)
5.	    i += 1

for i in range(len(string)):
print(i)

8.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。

password = '981202'
i=2
while not i+1 == 0:
    teep = input('pls enter your code:')
    if '*' in teep:
        print('code can not invoved *,pls enter again')
        continue
    if teep == password:
        print('enter rightly')
        break
    else:
        print('wrong code,enter again')
        print('you still have %d chances'%(i))
        i-=1
        continue
if i+1 == 0:
    print("I'm so sry about you waste you all chance")
else:
    print('ready to get into system')

9.编写一个程序,求 100~999 之间的所有水仙花数。
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数

i = 100
while not i == 1000:
    if (i//100)**3+((i-(i//100)*100)//10)**3+(i%10)**3 == i:
        print(i)
        i+=1
    else:
         i+=1

算法改进:

1.	for i in range(100, 1000):
2.	    sum = 0
3.	    temp = i
4.	%反复地板除10,再与10取余数,获得个十百位数。
5.	    while temp:
6.	        sum = sum + (temp%10) ** 3
7.	        temp //= 10         # 注意这里要使用地板除哦~
8.	    if sum == i:
9.	        print(i)

10.三色球问题
有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。


1.	print('red\tyellow\tblue')
2.	for red in range(0, 4):
3.	    for yellow in range(0, 4):
4.	        for green in range(2, 7):
5.	            if red + yellow + green == 8:
6.	                # 注意,下边不是字符串拼接,因此不用“+”哦~
7.	                print(red, '\t', yellow, '\t', green)

注释:range(2, 7)是产生[2, 3, 4, 5, 6]5个数,绿球不能是1个,因为如果绿球是1个的话,红球 + 黄球需要有7个才能符合题意,而红球和黄球每种只有3个,因此是range(2, 7)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值