(3月16日)开贴立flag学会用python做打飞机—每日学习记录
0基础入门python,到此报道!!!立贴为证,我要用python写出《飞机大战》这款游戏!
————————————————————
每次敲的代码都上传在这里,并做记录
错误代码不要参考,当反面教材案例,多反思!
此贴更多的是个人学习心得、笔记、记录,且看心情是否回复及上传课后作业。
以上 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: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-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、好像在理解中,但隔着一层,似懂非懂的感觉,再多做做 ---------------新版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)
楼主学习好认真啊{:10_275:}
页:
[1]