社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python入门的60个基础练习(一)

大侠学Python • 1 年前 • 190 次点击  

转自:python专栏

01-Hello World

python的语法逻辑完全靠缩进,建议缩进4个空格。如果是顶级代码,那么必须顶格书写,哪怕只有一个空格也会有语法错误。下面示例中,满足if条件要输出两行内容,这两行内容必须都缩进,而且具有相同的缩进级别。

print('hello world!')


if 3 > 0:
    print('OK')
    print('yes')


x = 3; y = 4   # 不推荐,还是应该写成两行
print(x + y)


02-print 函数

print('hello world!')
print('hello''world!')  # 逗号自动添加默认的分隔符:空格 hello world!
print('hello' + 'world!')  # 加号表示字符拼接 helloworld!
print('hello''world', sep='***')  # 单词间用***分隔 hello***world
print('#' * 50)  # *号表示重复 50 遍
print('how are you?', end='')  # 默认 print 会打印回车,end=''表示不要回车


03-基本运算

运算符可以分为:算术运算符、比较运算符和逻辑运算符。优先级是:算术运算符>比较运算符>逻辑运算符。最好使用括号,增加了代码的可读性。

print(5 / 2)  # 2.5
print(5 // 2)  # 丢弃余数,只保留商
print(5 % 2)  # 求余数
print(5 ** 3)  # 5 的 3 次方
print(5 > 3)  # 返回 True
print(3 > 5)  # 返回 False
print(20 > 10 > 5)  # python 支持连续比较
print(20 > 10 and 10 > 5)  # 与上面相同含义
print(not 20 > 10)  # False


04-input

number = input("请输入数字:")  # input 用于获取键盘输入
print(number)
print(type(number))  # input 获得的数据是字符型


print(number + 10)  # 报错,不能把字符和数字做运算
print(int(number) + 10)  # int 可将字符串 10 转换成数字 10
print(number + str(10))  # str 将 10 转换为字符串后实现字符串拼接


05-输入输出基础练习

username = input('username: ')
print('welcome', username)   # print 各项间默认以空格作为分隔符
print('welcome ' + username)  # 注意引号内最后的空格


06-字符串使用基础

python 中,单双引号没有区别,表示一样的含义

sentence = 'tom\'s pet is a cat'  # 单引号中间还有单引号,可以转义
sentence2 = "tom'
s pet is a cat"  # 也可以用双引号包含单引号
sentence3 = "
tom said:\"hello world!\""
sentence4 = 'tom said:"
hello world"'
# 三个连续的单引号或双引号,可以保存输入格式,允许输入多行字符串
words = "
""
hello
world
abcd"""
print(words)


py_str = 'python'
len(py_str)  # 取长度
py_str[0]  # 第一个字符
'python'[0]
py_str[-1]  # 最后一个字符
# py_str[6]  # 错误,下标超出范围
py_str[2:4]  # 切片,起始下标包含,结束下标不包含
py_str[2:]  # 从下标为 2 的字符取到结尾
py_str[:2]  # 从开头取到下标是 2 之前的字符
py_str[:]  # 取全部
py_str[::2]  # 步长值为 2,默认是 1
py_str[1::2]  # 取出 yhn
py_str[::-1]  # 步长为负,表示自右向左取


py_str + ' is good'  # 简单的拼接到一起
py_str * 3  # 把字符串重复 3 遍


't' in py_str  # True
'th' in py_str  # True
'to' in py_str  # False
'to' not in py_str  # True


07-列表基础

列表也是序列对象,但它是容器类型,列表中可以包含各种数据

alist = [10, 20, 30, 'bob''alice', [1,2,3]]
len(alist)
alist[-1]  # 取出最后一项
alist[-1][-1]  # 因为最后一项是列表,列表还可以继续取下标
[1,2,3][-1]  # [1,2,3] 是列表,[-1] 表示列表最后一项
alist[-2][2]  # 列表倒数第 2 项是字符串,再取出字符下标为 2 的字符
alist[3:5]   # ['bob', 'alice']
10 in alist  # True
'o' in alist  # False
100 not in alist # True
alist[-1] = 100  # 修改最后一项的值
alist.append(200)  # 向**列表中追加一项


08-元组基础

元组与列表基本上是一样的,只是元组不可变,列表可变。

atuple = (10, 20, 30, 'bob''alice', [1,2,3])
len(atuple)
10 in atuple
atuple[2]
atuple[3:5]
# atuple[-1] = 100  # 错误,元组是不可变的


09-字典基础

# 字典是 key-value(键-值)对形式的,没有顺序,通过键取出值
 adict = {'name''bob''age': 23}
 len(adict)
 'bob' in adict  # False
 'name' in adict  # True
 adict['email'] = 'bob@tedu.cn'  # 字典中没有 key,则添加新项目
 adict['age'] = 25  # 字典中已有 key,修改对应的 value


10-基本判断

单个的数据也可作为判断条件。任何值为 0 的数字、空对象都是 False,任何非 0 数字、非空对象都是 True。

if 3 > 0:
    print('yes')
    print('ok')


if 10 in [10, 20, 30]:
    print('ok')


if -0.0:
    print('yes')  # 任何值为 0 的数字都是 False


if [1, 2]:
    print('yes')  # 非空对象都是 True


if ' ':
    print('yes')  # 空格字符也是字符,条件为 True


11-条件表达式、三元运算符

a = 10
b = 20


if a     smaller = a
else:
    smaller = b
print(smaller)


s = a if a else b  # 和上面的 if-else 语句等价
print(s)


12-判断练习:用户名和密码是否正确

import getpass  # 导入模块


username = input('username: ')
# getpass 模块中,有一个方法也叫 getpass
password = getpass.getpass('password: ')


if username == 'bob' and password == '123456':
    print('Login successful')
else:
    print('Login incorrect')


13-猜数:基础实现

import random


num = random.randint(1, 10) # 随机生成 1-10 之间的数字
answer = int(input('guess a number: '))  # 将用户输入的字符转成整数
if answer > num:
    print('猜大了')
elif answer     print('猜小了')
else:
    print('猜对了')


print('the number:', num)


14-成绩分类 1

score = int(input('分数:'))


if score >= 90:
    print('优秀')
elif score >= 80:
    print('好')
elif score >= 70:
    print('良')
elif score >= 60:
    print('及格')
else:
    print('你要努力了')



15-成绩分类 2

score = int(input('分数:'))


if score >= 60 and score     print('及格')
elif 70 <= score     print('良')
elif 80 <= score     print('好')
elif score >= 90:
    print('优秀')
else:
    print('你要努力了')


16-石头剪刀布

import random


all_choices = ['石头''剪刀''布']
computer = random.choice(all_choices)
player = input('请出拳:')


# print('Your choice:', player, "Computer's choice:", computer)
print("Your choice: %s, Computer's choice: %s" % (player, computer))
if player == '石头':
    if computer == '石头':
        print('平局')
    elif computer == '剪刀':
        print('You WIN!!!')
    else:
        print('You LOSE!!!')
elif player == '剪刀':
    if computer == '石头':
        print('You LOSE!!!')
    elif computer == '剪刀':
        print('平局')
    else:
        print('You WIN!!!')
else:
    if computer == '石头':
        print('You WIN!!!')
    elif computer == '剪刀':
        print('You LOSE!!!')
    else:
        print('平局')


17-改进的石头剪刀布

import random


all_choices = ['石头''剪刀''布']
win_list = [['石头''剪刀'], ['剪刀''布'], [ '布''石头']]
prompt = """(0) 石头
(1) 剪刀
(2) 布
请选择 (0/1/2): "
""
computer = random.choice(all_choices)
ind = int(input(prompt))
player = all_choices[ind]


print("Your choice: %s, Computer's choice: %s" % (player, computer))
if player == computer:
    print('\033[32;1m 平局、033[0m')
elif [player, computer] in win_list:
    print('\033[31;1mYou WIN!!!\033[0m')
else:
    print('\033[31;1mYou LOSE!!!\033[0m')


18-猜数,直到猜对

import random


num = random.randint(1, 10)
running = True


while running:
    answer = int(input('guess the number: '))
    if answer > num:
        print('猜大了')
    elif answer         print('猜小了')
    else:
        print('猜对了')
        running = False


19-猜数,5 次机会

import random


num = random.randint(1, 10)
counter = 0


while counter     answer = int(input('guess the number: '))
    if answer > num:
        print('猜大了')
    elif answer         print('猜小了')
    else:
        print('猜对了')
        break
    counter += 1
else:  # 循环被 break 就不执行了,没有被 break 才执行
    print('the number is:', num)


20-while 循环,累加至 100

因为循环次数是已知的,实际使用时,建议用 for 循环

sum100 = 0
counter = 1


while counter     sum100 += counter
    counter += 1


print(sum100)



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156902
 
190 次点击