小甲鱼课程学习001-015

003 改进之前的游戏

import random
secret = random.randint(1, 10)
temp = input("猜猜小鱼心里想的是哪个数字:")
guess = int(temp)
while guess != secret:
    temp = input("哎呀,猜错了,重新输入吧:")
    guess = int(temp)
    if guess == secret:
        print("猜对了!")
        print("哼!猜对了也没有奖励!")
    else:
        if guess > secret:
            print("a..大了大了")
        else:
            print("e..小了小了")
print("游戏结束")
#游戏改进
#猜错的时候程序应该给点提示,例如告诉用户输入的值是大了还是小了,if循环
#每运行一次程序只能猜一次,应该提供多次机会给用户猜测,while循环
#每次程序运行,答案可以是随机的。答案固定容易泄露,引入random模块
#条件分支:if 条件:条件为真执行的操作 else:条件为假执行的操作
#while循环:while 条件:条件为真执行的操作

007 闲聊之python数据类型:

>>> '520' + '1314'
'5201314'
>>> 520+1314
1834

整型:大数 int()

浮点型:小数 float()

字符串:str()

>>> a = '520'
>>> b = float(a)
>>> b
520.0
>>> a = 5.99
>>> b = str(a)
>>> b
'5.99'
>>> c = str(5e5)
>>> c
'500000.0'
>>> c = str('5e5')
>>> c
'5e5'

bool类型:

e记法:科学计数法,表示特别大/小的数

>>> 0.00000000000000000000000011
1.1e-25

>>> 1500000000000
1500000000000
>>> 1.5e11
150000000000.0
>>> 15e10
150000000000.0

>>> True + False
1
>>> True + True
2

>>> 1.5e4
15000.0

获取关于类型的信息:type()、isinstance()

>>> a = '560'
>>> type(a)
<class 'str'>
>>> type(.2)
<class 'float'>
>>> type(True)
<class 'bool'>

>>> a = '小甲鱼'
>>> isinstance(a, str)
True

008 python之常用操作符:幂运算>正负号>算术操作符>比较操作符>逻辑运算符

算术操作符:

>>> a = 3
>>> a += 3
>>> a
6
>>> b = 2
>>> b -= 1
>>> b
1
>>> a = b = c = d = 10
>>> a
10
>>> b
10
>>> c
10
>>> d
10
>>> a += 1
>>> a
11
>>> b *= 10
>>> b
100
>>> c /= 4
>>> c
2.5
>>> 10 // 8
1
>>> 3.0 // 2
1.0
>>> 3.0 / 2
1.5
>>> 10 / 8
1.25
>>> 10 % 3
1
>>> 3 ** 2
9
>>> -3 *2 + 5 / -2 + 4
-4.5

比较操作符:

逻辑操作符:and <or< not

009 了不起的分支和循环——打飞机逻辑框架:

加载背景音乐

播放背景音乐(设置单曲循环)

我方飞机诞生
interval = 0

while True:
    if 用户是否点击关闭按钮:
        退出程序

    interval += 1
    if interval == 50:
        intereval =0 
        小飞机诞生
        
    小飞机移动一个位置
    屏幕刷新

    if 用户鼠标产生移动:
        我放飞机中心位置 = 用户鼠标位置
        屏幕刷新


    if 我放飞机与小飞机发生肢体冲突:
        我方失败,播放随机音乐
        修改我方飞机图案
        打印“game over”
        停止背景音乐,最好淡出

010 了不起的分支循环2

        按照100分制,90分以上成绩为A,80-90为B,60-80为C,60分以下为D

        断言assert

011 了不起的分支和循环3:while循环、for循环、range()

while 条件:

      循环体

>>> favourite = 'FishC'
>>> for i in favourite:
	print(i, end=' ')

	
F i s h C 
>>> nember = ['小甲鱼', '西布顶', '会儿', '黑夜']
>>> for each in nember:
	print(each,len(nember))

	
小甲鱼 4
西布顶 4
会儿 4
黑夜 4
range([start,] stop[,step=1])作用是生成一个从start参数的值开始到stop参数的值结束的数字序列

>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> for i in range(5):
	print(i)

	
0
1
2
3
4
>>> for i in range(2,9):
	print(i)

	
2
3
4
5
6
7
8
>>> for i in range(2,10,2):
    print(i)  
2
4
6
8
break终止循环并跳出循环体

continue终止本并开始下一轮循环

列表:打了一个激素的数组1

>>> mix = [1, '小甲鱼', 3.14, [1,2]]
>>> mix
[1, '小甲鱼', 3.14, [1, 2]]
>>> empty = []
>>> empty
[]

向列表添加元素,append,属于mix列表对象的方法;extend(),追加到末尾;insert()

>>> mix.append('娃娃')
>>> mix
[1, '小甲鱼', 3.14, [1, 2], '娃娃']
>>> len(mix)
5

>>> mix.extend(['阿花', '阿发'])
>>> mix
[1, '小甲鱼', 3.14, [1, 2], '娃娃', '阿花', '阿发']
>>> len(mix)
7

>>> mix.insert(1, '牡丹')
>>> mix
[1, '牡丹', '小甲鱼', 3.14, [1, 2], '娃娃', '阿花', '阿发']
>>>
从列表删除元素remove()、del、pop()

>>> mix.remove('娃娃')
>>> mix
[1, '牡丹', '小甲鱼', 3.14, [1, 2], '阿花', '阿发']
>>> del mix[0]
>>> mix
['牡丹', '小甲鱼', 3.14, [1, 2], '阿花', '阿发']

>>> mix.pop()
'阿发'
>>> name = mix.pop()
>>> name
'阿花'
>>> mix
['牡丹', '小甲鱼', 3.14, [1, 2]]

列表切片

012 列表:一个打了激素的数组3

>>> list1 = [123]
>>> list2 = [234]
>>> list1 > list2
False
>>> list1 = [123,456]
>>> list2 = [234,123]
>>> list1 > list2
False
>>> list3 = [123,456]
>>> (list1 < list2) and (list1 == list3)
True
>>> list4 = list1 + list2
>>> list3
[123, 456]
>>> list4
[123, 456, 234, 123]
>>> 123 in list3
True
>>> '小甲鱼' not in list3
True
>>> 123 not in list3
False
>>> list5 = [123, ['小甲鱼', '牡丹'], 456]
>>> '小甲鱼' in list5
False
>>> '小甲鱼' in list5[1]
True
>>> list5[1][0]
'小甲鱼'
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__',
 '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__',
 '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__',
 '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend',
 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>> list3 *= 5
>>> list3
[123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
>>> list.count
<method 'count' of 'list' objects>
>>> list3.count(123)
5
>>> list3.index(123)
0
>>> list3.index(123,3,7)
4
sort(func, key,reverse=False)
>>> list3.reverse()
>>> list3
[456, 123, 456, 123, 456, 123, 456, 123, 456, 123]
>>> list6 = [4,2,5,1,9,23,32,0]
>>> list6.sort()
>>> list6
[0, 1, 2, 4, 5, 9, 23, 32]
>>> list6.sort(reverse = True)
>>> list6
[32, 23, 9, 5, 4, 2, 1, 0]
>>> list7 = list6[:] # 将list6全部复制
>>> list7
[32, 23, 9, 5, 4, 2, 1, 0]
>>> list8 = list6 # 指向list6的标签
>>> list8
[32, 23, 9, 5, 4, 2, 1, 0]
>>> list6.sort()
>>> list6
[0, 1, 2, 4, 5, 9, 23, 32]
>>> list7
[32, 23, 9, 5, 4, 2, 1, 0]
>>> list8
[0, 1, 2, 4, 5, 9, 23, 32]


013 元组:戴上了枷锁的列表

元组:不能改变的

列表:任意插入、删除元素,很随意

>>> tuple1 = (1,2,3,4,5,6,7,8)
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple1[2]
3
>>> tuple1[5:]
(6, 7, 8)
>>> tuple1[1] =3
Traceback (most recent call last):
  File "<pyshell#172>", line 1, in <module>
    tuple1[1] =3
TypeError: 'tuple' object does not support item assignment

014 字符串:各种奇葩的内置方法

>>> str1[:6] + '插入的字符串' + str1[6:]
'I love插入的字符串 fishC.com'
>>> str1 = str1[:6] + '插入的字符串' + str1[6:]
>>> str1
'I love插入的字符串 fishC.com'
>>> str2 = 'xiaoxie'
>>> str2
'xiaoxie'
>>> str2.capitalize()
'Xiaoxie'
>>> str2 = 'DAXIExiaoxie'
>>> str2.casefold()
'daxiexiaoxie'
>>> str2
'DAXIExiaoxie'
>>> str2.center(40)
'              DAXIExiaoxie              '
>>> str2.count('xi')
2
>>> str2
'DAXIExiaoxie'
>>> str2.endswith('xi')
False
>>> str2.endswith('xie')
True
>>> str3 = 'I\tlove\tfishC.com!'
>>> str3.expandtabs()
'I       love    fishC.com!'
>>> str3.find('efc')
-1
>>> str3.find('z')
-1
>>> str5 = 'Fishc'
>>> str5.join('12345')
'1Fishc2Fishc3Fishc4Fishc5'
>>> str5.lower()
'fishc'
>>> # rstrip()删除字符串末尾的空格
>>> # lstrip()删除字符串开始的空格
>>> str6 = '   I love fishC.com!       '
>>> str6.rstrip().lstrip()
'I love fishC.com!'
>>> str7 = str6[:]
>>> str7
'   I love fishC.com!       '
>>> str7 =str7.rstrip().lstrip()
>>> str7
'I love fishC.com!'
>>> str7.partition('ov')
('I l', 'ov', 'e fishC.com!')
>>> str7 = str6[:]
>>> str7
'   I love fishC.com!       '
>>> str7 =str7.rstrip().lstrip()
>>> str7
'I love fishC.com!'
>>> str7.partition('ov')
('I l', 'ov', 'e fishC.com!')
>>> str7.split()
['I', 'love', 'fishC.com!']
>>> str7.split('i')
['I love f', 'shC.com!']
>>> str8 = '         ssssssssaaaaa    '
>>> str8.strip()
'ssssssssaaaaa'
>>> str8.strip('s')
'         ssssssssaaaaa    '
>>> str8
'         ssssssssaaaaa    '
>>> str8.strip()
'ssssssssaaaaa'
>>> str8 = str8.strip()
>>> str8
'ssssssssaaaaa'
>>> str8.strip('s')
'aaaaa'

015 字符串:格式化 

        帮助纠正分类问题,二者传入replacement字段

>>> "{0} love {1}.{2}".format("I", "FishC", ".com")
'I love FishC..com'
>>> "{a} love {b}.{c}".format("I", "FishC", ".com")
Traceback (most recent call last):
  File "<pyshell#242>", line 1, in <module>
    "{a} love {b}.{c}".format("I", "FishC", ".com")
KeyError: 'a'
>>> "{a} love {b}.{c}".format(a = "I", b = "FishC", c = ".com")
'I love FishC..com'
>>> 


{0} love {1}.{2}#表示字段
       

>>> '\ta'
'\ta'
>>> print('\ta')
	a
>>> print('\\')
\
>>> "{{0}}".format('不打印')
'{0}'
>>> '{0:.1f}{1}'.format(27.658, 'GB')
'27.7GB'

.1f表示四舍五入保留一位小数的定点数,{1}表示调入GB

>>> '%c' % 97
'a'
>>> '%c %c %c' % (97,98,99)
'a b c'
>>> '%s' % 'I love fish'
'I love fish'
>>> #格式化ASCII码、字符串、整数

>>> '%d + %d = %d' % (4, 5, 4+5)
'4 + 5 = 9'
>>> '%x' % 10
'a'
>>> '%x' % 160
'a0'
>>> '%f' % 27.68
'27.680000'
>>> '%e' % 27.68
'2.768000e+01'

>>> '%010d' % 5
'0000000005'














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值