板砖丶 发表于 2020-3-16 04:38:32

(3月16日)开贴立flag学会用python做打飞机—每日学习记录

0基础入门python,到此报道!!!

立贴为证,我要用python写出《飞机大战》这款游戏!

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

每次敲的代码都上传在这里,并做记录

错误代码不要参考,当反面教材案例,多反思!


此贴更多的是个人学习心得、笔记、记录,且看心情是否回复及上传课后作业。


以上

板砖丶 发表于 2020-3-16 04:42:35

3月15日学习记录
变量
变量名就像我们现实社会的名字,把一个值赋值给一个名字时,TA会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。

不过python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边。


所以有些python程序员会说,python没有变量,只有名字。

字符串+字符串就是拼接

注意的地方
*在使用变量前要先对其赋值
变量名可以包括字母、数字、下划线,但变量名不能以数字开头
字母可以是大写或小写,但大小写时不同的。
=是赋值的意思,左边是名字,右边是值,不能写反

注意的地方
        • 在使用变量前,要先对其赋值
        • 变量名可以包括字母、数字、下划线,但变量名不能以数字开头
        • 字母可以是大写或小写,但大小写时不同的。
        • =是赋值的意思,左边是名字,右边是值,不能写反
        • 变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请尽量给变量取一个专业一点的名字。



字符串
        • 字符串就是引号内的一切东西,我们也把字符串叫文本,文本和数字是截然不同的
        • 要告诉py你在创建一个字符串,就要在字符串两边加上引号,单引号或者双引号,且必须成双成对
        • 如果字符串中需要出现引号,怎么办
        • 两种方法
                ○ 转义符(\)        如 'let\'s go'
               
       
        反斜杠是一个好东西
        • >>>str='c:\now'                \n在py里表示换行的意思
        >>>str='c:\\now'                用双反斜杠\\进行转义,成功
        >>>str='c:\program files\intel\wifi\help'        多个反斜杠?        原始字符串。只需要在字符串前面加一个英文r即可:>>>str=r'c:\now'


长字符串
        • 如果希望得到一个跨越多行的字符串
        • 使用三重引号字符串

——————————————————
        任务
        1. 猜错的时候,程序应该给提示,如输入的值是大了还是小了
        2. 每运行一次只能猜一次,应该提供多次机会
        3.每次运行程序,答案可以是随机的。

代码懒得上传了,主要是以前版本的这个章节,没有新版的章节代码好看,决定返回重修一遍新版的,再贴出

板砖丶 发表于 2020-3-16 16:45:47

本帖最后由 板砖丶 于 2020-3-16 16:58 编辑

新版python004讲课后动动手
用下面代码打印一个99乘法表
>>> for i in range(1, 10):
...   for j in range(1, i+1):
...         print(i, "x", j, "=", i * j, end=' ')
...   print("\n")

【注解】
range() 函数可创建一个整数列表,一般用在 for 循环中。
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是没有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)给出序列。默认情况下,range 步距取为1。如果我们提供第三个数字,range那么它变成了步距。例如range(1,5,2)得到。
for循环然后遍历这个范围,for i in range(1,5)相当于 for i in ,这就像把序列中的每一个数(或对象)分配给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') 另起一行

#以此类推

#以上,来自鱼油Judie,感谢!

————————————————
print 可以同时输出多个部分的内容,各个部分之间以逗号隔开,你的第一个print就是这种形式,print(i, "x", j, "=", i * j, end=' ')第一项是一个变量i,第二项是字符"×",第三项是变量j,第四项是变量i*j,最后是自定义结尾字符end=‘’。内层for循环打印一行乘法口诀,内层循环结束后使用print("\n")输出回车换行,为下次循环做准备(下次内层循环要打印下一行乘法口诀)。

————————————————
【个人笔记】
1、print同时可以打印多个部分的内容,以逗号隔开,隔开后相当于拼接;
2、print(i, "x", j, "=", i * j, end=' '),里面的字符x,其实是代替乘号(*)的,相当于 i x j
3、注意缩进的奥妙,慢慢体会
4、实验

for i in range(1,10):
        for j in range(i,i+1):
                print(i,"乘",j,"=",i*j,end="")
        print("\n")

       
1 乘 1 = 1

2 乘 2 = 4

3 乘 3 = 9

4 乘 4 = 16

5 乘 5 = 25

6 乘 6 = 36

7 乘 7 = 49

8 乘 8 = 64

9 乘 9 = 81
#为什么不是九九乘法呢?
#检擦后发现for j in range(1,i+1)这样才对



#再来一次
for i in range(1,10):
        for j in range(1,i+1):
                print(i,"乘",j,"=",i*j,end="")
        print("\n")

1 乘 1 = 1

2 乘 1 = 22 乘 2 = 4

3 乘 1 = 33 乘 2 = 63 乘 3 = 9

4 乘 1 = 44 乘 2 = 84 乘 3 = 124 乘 4 = 16

5 乘 1 = 55 乘 2 = 105 乘 3 = 155 乘 4 = 205 乘 5 = 25

6 乘 1 = 66 乘 2 = 126 乘 3 = 186 乘 4 = 246 乘 5 = 306 乘 6 = 36

7 乘 1 = 77 乘 2 = 147 乘 3 = 217 乘 4 = 287 乘 5 = 357 乘 6 = 427 乘 7 = 49

8 乘 1 = 88 乘 2 = 168 乘 3 = 248 乘 4 = 328 乘 5 = 408 乘 6 = 488 乘 7 = 568 乘 8 = 64

9 乘 1 = 99 乘 2 = 189 乘 3 = 279 乘 4 = 369 乘 5 = 459 乘 6 = 549 乘 7 = 639 乘 8 = 729 乘 9 = 81

#OK,可以看出,把“x”替换成了“乘”,还可以以任何字符拼接。


分享结束(手动狗头)

板砖丶 发表于 2020-3-16 18:51:17

本帖最后由 板砖丶 于 2020-3-21 15:51 编辑

-----------新版python006讲动动手------------
0.编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级
1.修改上一题的代码,让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。
分数 < 60,D
60 <= 分数 < 80,C
80 <= 分数 < 90,B
90 <= 分数 < 100,A
分数 == 100,S

0【我的代码】

"--------006课后动手之成绩评级---------"
num = input("请输入你的分数:")
guess = int(num)

if guess < 60 :
    print("D")
else:
    if guess < 80 :
      print("C")
    else:
      if guess < 90:
            print("B")
      else:
            if guess < 100:
                print("A")
            else:
                print("S")

#小甲鱼给的答案代码参照

score = input("请输入你的分数:")
score = int(score)

if score < 60:
    print("D")
   
if 60 <= score < 80:
    print("C")

if 80 <= score < 90:
    print("B")

if 90 <= score < 100:
    print("A")

if score == 100:
    print("S")


1.【我的代码——有问题】
>>>
= RESTART: D:/Boman/python学习/课后动手/新006课后动手之成绩评级.py
请输入你的分数:50
D
请输入你的分数:60
C
请输入你的分数:80
B
请输入你的分数:90
A
请输入你的分数:99
A
请输入你的分数:100
S
Traceback (most recent call last):
File "D:/Boman/python学习/课后动手/新006课后动手之成绩评级.py", line 21, in <module>
    if num == e:
NameError: name 'e' is not defined



"--------006课后动手之成绩评级---------"
counts = 100
while counts > 0:

    num = input("请输入你的分数:")
    guess = int(num)

    if guess < 60 :
      print("D")
    else:
      if guess < 80 :
            print("C")
      else:
            if guess < 90:
                print("B")
            else:
                if guess < 100:
                  print("A")
                else:
                  print("S")
                  if num == e:   #这里肯定出问题了
                        break            #这个break放这里好像有问题,应该与第一个if一样的缩进?

#小甲鱼给的答案代码参照
score = input("请输入你的分数:")

while score != 'e':
    score = int(score)

    if score < 60:
      print("D")

    if 60 <= score < 80:
      print("C")

    if 80 <= score < 90:
      print("B")

    if 90 <= score < 100:
      print("A")

    if score == 100:
      print("S")

    score = input("请输入你的分数:")                #这一句放这里是为了什么?
                                                                #是为了输入e的时候终止嘛?


————————————————
【笔记】
1、int是数,而e是字符
2、while 要熟用 !=的这种循环,这是没想到的
3、好像在理解中,但隔着一层,似懂非懂的感觉,再多做做

板砖丶 发表于 2020-3-16 19:41:36

---------------新版007讲课后动动手---------------------

0:选择一个合适的函数,抽取 0~99 之间的所有偶数
我的
>>> random.randrange(0,99,2)
90
>>> random.randrange(0,99,2)
28
>>> random.randrange(0,99,2)
72


random.randrange(0,99,2)


【答案】
>>> import random
>>> random.randrange(0, 100, 2)
96
>>> random.randrange(0, 100, 2)
8
>>> random.randrange(0, 100, 2)
32
>>> random.randrange(0, 100, 2)
14
>>> random.randrange(0, 100, 2)
62
【反思错误点】
1、没有导入random
2、randrange(start,stop,step)
区间为[start,stop)
3、题目理解的有问题:抽取0~99所有偶数,理解成了,要把2、4、6……99都打印
——————————————————————
1. 编写一个双色球的开奖模拟程序
【反思】:应先了解双色球是什么,运行规则,开奖,需要哪些字符等

"""---------新007讲动手之双色球----------"""
#“双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。
#红色球号码从 1~33 中选择;
#蓝色球号码从 1~16 中选择。
#开奖结果为6个红色号
#特别号码为一个and蓝色

import random
red1=random.randint(1,33)

red2=random.randint(1,33)

red3=random.randint(1,33)

red4=random.randint(1,33)

red5=random.randint(1,33)

red6=random.randint(1,33)

blue=random.randint(1,16)

print("开奖结果是:",red1,red2,red3,red4,red5,red6)
print("特别好吗是:",blue)

fsf359 发表于 2020-3-19 19:52:17

楼主学习好认真啊{:10_275:}
页: [1]
查看完整版本: (3月16日)开贴立flag学会用python做打飞机—每日学习记录