python入门学习第009课

此日记只为了方便自己复盘,如有涉及版权问题,归小甲鱼官方所有。

测试题

0. 下面的循环会打印多少次"I Love FishC"?

for i in range(0,10,2):

    print('I Love FishC')

答0:会打印5次。从0开始到9结算,每隔2步输出一次(0,2,4,6,8)

1. 下面的循环会打印多少次"I Love FishC"?

for i in 5:

print('I Love FishC')

答1:会报错。

2. 回顾一下 break 和 continue 在循环中起到的作用?

答2:break是直接终止循环,执行循环之外德语句。

continue是终止本次程序并开始下一次循环,弱检测条件为真,则开始下一次循环,若条件不符合则跳出本次循环,进入下一个语句。

3. 请谈下你对列表的理解?

答3:列表:可以容纳多个数字、文本。

4. 请问 range(10) 生成哪些数?

答4:0、1、2、3、4、5、6、7、8、9

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

whileTrue:

    whileTrue:

        break

        print(1)

    print(2)

    break

print(3)

答5:打印2\n 3,因为第一个break直接跳出本身的循环,所以1直接跳过了。

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

答6:当内部循环执行完毕后继续执行本次循环语句。

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

i=0

string='ILoveFishC.com'

while i<len(string)):

    print(i)

    i+=1

答7:原来程序中len(string)在每次循环都要保存一次,所以先把冷len(string)保存好再循环,再计算机运行时就少了一步。

i = 0

string = 'ILoveFishC.com'

x = len(string)

while i < x:

    print(i)

    i + = 1

动动手

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

答0:

max_times =3

password ='123456'

input_times =0

while True:

    input_times += 1

    temp = input("请输入密码:")

    if password == temp:

            print('欢迎来到未来世界!')

            break

    elif '*' in temp :

        print("输入内容不能包含'*'!,您还有",max_times - input_times,'次机会')

    else:

        print("密码不正确!您还有",max_times - input_times,'次机会')

    if input_times == max_times:

        print('机会已用完!!!')

        break

小甲鱼 的 密码程序:

count = 3

password = 'FishC.com'

while count:

  passwd = input('请输入密码:')

  if passwd == password:

      print('密码正确,进入程序......')

      break                     

  elif '*' in passwd:

      print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')     #这里print()语句中要str格式和int格式共存,

                                                                                                              #内容需要用逗号隔开       

      continue

  else:

      print('密码输入错误!您还有', count-1, '次机会!', end=' ')   

  count -= 1

————————————————


1. 编写一个程序,求 100~999 之间的所有水仙花数。

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

答1:

num = 100

max_num = 999

while True:

    sum_num = 0

    sum_num += (num%10)**3

    sum_num += ((num//10)%10)**3

    sum_num += ((num//100)%10)**3

    if sum_num == num:

        print(num)

    num += 1

    if num > max_num:

        break

2. 三色球问题

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

答2:

for red in range(4):

    for yellow in range(4):

        for green in range(8):

            if red + yellow + green == 8:

                print('%d个红球,%d个黄球,%d个绿球' % (red, yellow, green))


3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

答3:

1、while 条件(为真的情况下):

                循环内容

2、for 目标 in 表达式:

                循环内容 

按顺序逐个打印

3、number = ['xx', 'xx', 'xx']

4、len()是打印字符数量的意思。例如:

number = ['阳光男孩‘, '痞痞的靓仔', '大眼美女']

print(number, len(number))

打印输出:

阳光男孩 4

痞痞的靓仔 5

大眼美女 4

5、range([star,] stop[,step=1])是for循环的小伙伴

6、break终止当前循环并跳出当前循环体,continue终止当前循环并继续当前循环体

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 999评论 0 1
  • 安装环境h1 先安装Anaconda3-5.3.1-Windows-x86_64 在安装PatchNavicat ...
    saki_1234阅读 672评论 0 0
  • 1. Python的hello-world: print ("Hello, Python!")、 完了 摇就完事儿...
    LunarShade阅读 1,502评论 0 0
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,928评论 0 8
  • 下午下班,拐市场买了鸡腿,打算晚上给大宝炖土豆鸡块。从市场出来,快马加鞭飞奔到公交站点。远远看见大宝那小小的...
    幔利阅读 131评论 0 1