Python基础教程——20个基础练习

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'] = '[email protected]'  # 字典中没有 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 < b:       
smaller = a   
else:       
smaller = b   
print(smaller)         
s = a if a < b 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 < num:       
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 < 70:       
print('及格')   
elif 70 <= score < 80:       
print('良')   
elif 80 <= score < 90:       
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 < num:           
print('猜小了')       
else:           
print('猜对了')           
running = False   

19-猜数,5 次机会

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

20-while 循环,累加至 100

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

sum100 = 0   
counter = 1         
while counter < 101:       
sum100 += counter       
counter += 1         
print(sum100)

最后这里免费分享给大家一份Python学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便

- End -

猜你喜欢

转载自blog.csdn.net/2301_78217634/article/details/131717753