鱼C论坛

 找回密码
 立即注册
查看: 2863|回复: 6

[学习笔记] 【朱迪的手写学习笔记 之 零基础入门学习Python】004

[复制链接]
发表于 2020-1-8 10:00:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Judie 于 2020-3-31 12:27 编辑

【朱迪的手写学习笔记 之 零基础入门学习Python】004
2020要继续努力呀!

视频笔记

004_1of2

004_1of2

004_2of2

004_2of2



课后作业

第004讲:改进我们的小游戏 | 课后测试题及答案
https://fishc.com.cn/thread-37006-1-1.html
(出处: 鱼C论坛)

动动手

0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。

input()的作用是接受用户输入/接受得到的东西会是个字符串

int()的作用是把接受得到的字符串转换为整数类型,

= 赋值

print() 打印到屏幕/默认是结束会换行。end=‘ ’意在使其末尾不换行

print()默认打印完字符串会自动添加一个换行符
end 是函数print()的一个参数,用来指定打印结束时末尾的符号,默认是回车/即换行


2.尝试写代码实现以下截图功能:
标答
temp = input('请输入一个整数:')
number = int(temp)
while number:
    i = number - 1
    while i:
        print(' ', end = '')
        i = i - 1
    j = number
    while j:
        print('*', end = '')
        j = j - 1
    print()
    number = number - 1
注释
temp = input('请输入一个整数:') # input()的作用是接受用户输入,假设用户输入3/此时接受的这个3是个字符串

number = int(temp) # int()的作用是将3从字符串转换为整数类型,此时number=3

while number: # 即while 3: 即while True:/只有False,None,0,"",'',(),[],{},会被看做假

    i = number - 1 # i= 3-1 = 2 
    while i: # 即while 2: 即 while True: 所以执行循环下的内容 
        print( ' ',end ='') # 打印一个空格/print默认是打印一行,结尾加换行。end=' '意思是末尾不换行
        i = i-1 # i = 2-1 = 1,
        #回到while i: 开始第二次循环,再打印一个空格后,i=1-1=0,因为while i:即while 0: 所以没有第三次循环了
        #此时在第一行共打印了两个空格
        
    j = number # j = 3
    while j: # 即while 3: 即while True:所以执行循环下的内容
        print('*',end ='') #打印一个星号,末尾不换行
        j = j-1 #j= 3-1 =2
        #回到while j: 开始第二次循环,打印一个星号,j=2-1=1
        #开始第三次循环,打印一个星号,j=1-1=0,没有第三循环了
        #此时,在第一行接着两个空格后 共打印了3个星号

    print() #换行/另起一行
    number = number -1 #number=3-1=2

#继续,while number; 即 while 2: 又一个循环,重复以上操作
    #i=number-1 即 i=1
    #while i: 即 while 1:的循环 -> 在第二行共打印一个空格
    #j=number 即 j=2
    #while j: 即 while 2:的循环 -> 在第二行接着一个空格后 共打印了2个星号
#此时,在第2行接着1个空格后 共打印了2个星号

#print() 去到第三行
#number = 2-1=1
#while number: 的第三次循环
        #i= number-1 =1-1 =0
            #while i; 即while 0: 条件不为真,不执行循环下的操作 -》在第三行没有空格被打印
           #j=number =1
            #while j: 即 while 1: -》在第三行 共打印1个星号
#此时,在第3行接着0个空格后 共打印了1个星号

#print() 去到第四行
    #number=1-1 =0
    #while number; 即 while 0: 条件不为真,不再继续


    #运行完毕
    #第1行2空格3星号
    #第2行1空格2星号
    #第3行0空格1星号

202001092210.PNG

还有看到一个很好的code,运行起来也是没问题,实现的效果也是一样的
b = input('请输入一个整数:')
c = int(b)
a = c -1
while c:
    print(' '*a,end='')
    print('*'*c)
    c -=1
    a -=1

202001111305.PNG

再附一个code:
num = int (input('请输入一个整数:'))
while num :
    print((num-1) * ' ' +  num  *  '*' )
    num -= 1    

【最新版】

第004讲:变量和字符串(下)| 课后测试题及答案
https://fishc.com.cn/thread-144421-1-1.html
(出处: 鱼C论坛)


动动手


0. 请将下面的文本拷贝并赋值给变量名(fishc),使其可以如下图的效果打印输出。
解析:由于字符串内容中存在反斜杠(\),为了其完整性,请务必使用原始字符串(在三引号前面加上 r)
>>> fishc = """
      ___                     ___          ___          ___     
     /\  \         ___       /\  \        /\__\        /\  \    
    /::\  \       /\  \     /::\  \      /:/  /       /::\  \   
   /:/\:\  \      \:\  \   /:/\ \  \    /:/__/       /:/\:\  \  
  /::\~\:\  \     /::\__\ _\:\~\ \  \  /::\  \ ___  /:/  \:\  \ 
 /:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\  /\__\/:/__/ \:\__\
 \/__\:\ \/__//\/:/  /   \:\ \:\ \/__/\/__\:\/:/  /\:\  \  \/__/
      \:\__\  \::/__/     \:\ \:\__\       \::/  /  \:\  \      
       \/__/   \:\__\      \:\/:/  /       /:/  /    \:\  \     
                \/__/       \::/  /       /:/  /      \:\__\    
                             \/__/        \/__/        \/__/"""
>>> 
>>> print(fishc)

      ___                     ___          ___          ___     
     /\  \         ___       /\  \        /\__\        /\  \    
    /::\  \       /\  \     /::\  \      /:/  /       /::\  \   
   /:/\:\  \      \:\  \   /:/\ \  \    /:/__/       /:/\:\  \  
  /::\~\:\  \     /::\__\ _\:\~\ \  \  /::\  \ ___  /:/  \:\  \ 
 /:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\  /\__\/:/__/ \:\__ \/__\:\ \/__//\/:/  /   \:\ \:\ \/__/\/__\:\/:/  /\:\  \  \/__/
      \:\__\  \::/__/     \:\ \:\__\       \::/  /  \:\  \      
       \/__/   \:\__\      \:\/:/  /       /:/  /    \:\  \     
                \/__/       \::/  /       /:/  /      \:\__\    
                             \/__/        \/__/        \/__/
>>> fishc = r"""      ___                     ___          ___          ___     
     /\  \         ___       /\  \        /\__\        /\  \    
    /::\  \       /\  \     /::\  \      /:/  /       /::\  \   
   /:/\:\  \      \:\  \   /:/\ \  \    /:/__/       /:/\:\  \  
  /::\~\:\  \     /::\__\ _\:\~\ \  \  /::\  \ ___  /:/  \:\  \ 
 /:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\  /\__\/:/__/ \:\__\
 \/__\:\ \/__//\/:/  /   \:\ \:\ \/__/\/__\:\/:/  /\:\  \  \/__/
      \:\__\  \::/__/     \:\ \:\__\       \::/  /  \:\  \      
       \/__/   \:\__\      \:\/:/  /       /:/  /    \:\  \     
                \/__/       \::/  /       /:/  /      \:\__\    
                             \/__/        \/__/        \/__/"""
>>> print(fishc)
      ___                     ___          ___          ___     
     /\  \         ___       /\  \        /\__\        /\  \    
    /::\  \       /\  \     /::\  \      /:/  /       /::\  \   
   /:/\:\  \      \:\  \   /:/\ \  \    /:/__/       /:/\:\  \  
  /::\~\:\  \     /::\__\ _\:\~\ \  \  /::\  \ ___  /:/  \:\  \ 
 /:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\  /\__\/:/__/ \:\__\
 \/__\:\ \/__//\/:/  /   \:\ \:\ \/__/\/__\:\/:/  /\:\  \  \/__/
      \:\__\  \::/__/     \:\ \:\__\       \::/  /  \:\  \      
       \/__/   \:\__\      \:\/:/  /       /:/  /    \:\  \     
                \/__/       \::/  /       /:/  /      \:\__\    
                             \/__/        \/__/        \/__/
>>> 


1. 打印一个九九乘法表。

标答
>>> for i in range(1, 10):
...     for j in range(1, i+1):
...         print(i, "x", j, "=", i * j, end=' ')
...     print("\n")

注释

range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法:
range(start, stop[, step])

参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

range()是一个函数, for i in range () 就是给i赋值:
比如 for i in range (1,3):
就是把1,2依次赋值给i

例如,range(1,5)给出序列[1, 2, 3, 4]。默认情况下,range 步距取为1。如果我们提供第三个数字,range那么它变成了步距。例如range(1,5,2)得到[1,3]。
for循环然后遍历这个范围,for i in range(1,5)相当于 for i in [1, 2, 3, 4],这就像把序列中的每一个数(或对象)分配给i,一次一个,然后为每个i值执行该语句块。
for i in range(1,10): # i = 1,2,3,4,5,6,7,8,9
    for j in range(1,i+1):
        print(i,"x",j,"=",i*j,end=" ")
    print('\n')

# 第一次i的for循环 即 i=1
# for j in range (1,i+1) 即 for j in range(1,2) 即 j=1
# 第一次j的for循环 即 j=1
# print(i,"x",j,"=",i*j,end=" ") 即 print(1,"x",1,"=",i*j,end=" ") 即 打印1 x 1 = 1空格结尾
# j的for循环结束
# print('\n') 另起一行

# 第二次i的for循环 即 i=2
# for j in range (1,i+1) 即 for j in range(1,3) 即 j= 1,2
# 第一次j的for循环 即 j=1
# print(i,"x",j,"=",i*j,end=" ") 即 print(2,"x",1,"=",i*j,end=" ") 即 打印2 x 1 = 2空格结尾
# 第二次j的for循环 即 j=2
# print(i,"x",j,"=",i*j,end=" ") 即 print(2,"x",2,"=",i*j,end=" ") 即 打印2 x 2 = 4空格结尾
# j的for循环结束
# print('\n') 另起一行

#以此类推

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-8 15:02:44 | 显示全部楼层
加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-9 04:40:07 | 显示全部楼层

谢谢!你也是呀!
2020也要继续努力呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-10 02:31:50 From FishC Mobile | 显示全部楼层
这题课后题不会做 看不太懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-10 08:22:15 | 显示全部楼层
2311509812 发表于 2020-1-9 13:31
这题课后题不会做 看不太懂


哪题不会做,看不懂?来,问!
如果我会,我就教你!。。。
如果我不会,那咱论坛问大佬去!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-10 10:30:11 | 显示全部楼层
短路逻辑判断:
and 的比较   3 and 4 输出是4  #如果是真,就要继续往后运算,直到返回最后一个True值
                  3 and 4 and 5 and 6 输出是6
                  0 and 4 输出是0  #如果是假,直接返回False

or的比较      3 or 4 输出是3  #一真即真
                  3 or 4 or 5 or 6 输出是3
                  0 or 3 输出是3
对于or 来说,一真即真
对于and来说,一假即假

-------------上面是我的理解,不知道对不对,不对的话指正下--------
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-1-10 11:27:50 | 显示全部楼层
坚强的蚂蚁 发表于 2020-1-9 21:30
短路逻辑判断:
and 的比较   3 and 4 输出是4  #如果是真,就要继续往后运算,直到返回最后一个True值
   ...


对,很对,非常对!
你理解的比我好很多呢!
202001092227.PNG

完全没毛病!
/2020也要继续努力呢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 09:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表