Python语法练习
# if 流程控制语句
print('Please type spam: ')
spam = input()
if spam == '1':
print('Hello.')
elif spam == '2':
print('Howdy.')
else:
print('Greetings!')
##########################################################
for i in range(1,11,1):
print(i)
print('------------------')
i = 1
while i <= 10:
print(i)
i += 1
##########################################################
# 九九乘法表
print('打印乘法表')
for i in range(1,10):
for j in range(1,i+1):
print('%d*%d=%d'%(j,i,i*j),end='\t')
print('')
##########################################################
import random
# 自定义函数
def getAnswer(answerNumber):
if answerNumber == 1:
return 'It is certain'
elif answerNumber == 2:
return 'It is decidedly so'
elif answerNumber == 3:
return 'Yes'
elif answerNumber == 4:
return 'Reply hazy try again'
elif answerNumber == 5:
return 'Ask again later'
elif answerNumber == 6:
return 'Concentrate and ask again'
elif answerNumber == 7:
return 'My reply is no'
elif answerNumber ==8:
return 'Outlook not so good'
elif answerNumber == 9:
return 'Very doubtful'
r = random.randint(1,9)
fortune = getAnswer(r)
print(r,fortune)
##########################################################
# 局部作用域不能使用其他局部作用域内的变量
def spam():
eggs = 99
bacon()
print(eggs)
def bacon():
ham = 101
eggs = 0
spam()
##########################################################
# 全局变量可以在局部作用域中读取
def spam():
print(eggs)
eggs = 42
spam()
print(eggs)
##########################################################
# 名称相同的局部变量和全局变量
def spam():
eggs = 'spam local'
print(eggs)
def bacon():
eggs = 'bacon local'
print(eggs)
spam()
print(eggs)
eggs = 'global'
bacon()
print(eggs)
# 'bacon local'
# 'spam local'
# 'bacon local'
# 'global'
##########################################################
# 在局部作用域申明全局变量
def spam():
global eggs # 在函数内申明全局变量 eggs
eggs = 'spam'
eggs = 'global'
spam()
print(eggs)
# spam
##########################################################
# 异常处理1
def spam(divideBy):
try:
return 42 / divideBy
except ZeroDivisionError:
print('Error:Invalid argument')
print(spam(2))
print(spam(12))
print(spam(0))
print(spam(1))
##########################################################
# 异常处理2
def spam(divideBy):
return 42 / divideBy
try:
print(spam(2))
print(spam(12))
print(spam(0))
print(spam(1))
except ZeroDivisionError:
print('Error,Invalid argument')
# print(spam(1)) 不会被执行,因为在执行 print(spam(0))时,由于分母为0,程序转去执行 except,而不会再返回执行 print(spam(1))
##########################################################
# 一个小程序:猜数字
import random
secretNumber = random.randint(1,20)
print('I am thinking of a number between 1 and 20: ')
# 最多循环6次,如果六次均为猜中,循环也会结束
for i in range(1,7):
guess = input('Take a guess: ')
guess = int(guess)
if secretNumber > guess:
print('Your guess is too low.')
elif secretNumber < guess:
print('Your guess is too high.')
elif secretNumber == guess:
break
if guess == secretNumber:
print('Good job!You guessed my number in ' + str(i) + ' guesses')
else:
print('Nope. The number I was thinking of was '+ str(i) + ' guesses')
##########################################################
# Collatz 序列
# 自定义一个名为 collatz()函数
def collatz(number):
"""
自定义一个名为 collatz() 函数,接受一个实参
如果 参数是偶数,则打印输出 number / 2,并返回该值
如果 参数是奇数,则打印输出 3 * number +1,并返回该值
"""
if number % 2 == 0:
x = number // 2
print(x)
return x
elif number % 2 == 1:
y = 3 * number + 1
print(y)
return y
while True:
print('Please type your number: ')
inputNumber = input()
try:
inputNumber = int(inputNumber)
if collatz(inputNumber) == 1:
break
except ValueError:
print('Warming!!! Please type intValue')
#########################
# 用列表来存储用户的输入
# 先定义一个空列表
cats = []
while True:
print('Enter the name of cat ' + str(len(cats) + 1) + (' Or enter nothing to stop.'))
catName = input()
if catName == '':
break
cats.append(catName)
print('The cats names are:')
print(cats)
##########################################################
# 遍历列表
supplies = ['pens','staplers','flame-throwers','binders',] # 列表最后可以多一个英文逗号
for i in range(len(supplies)):
print(supplies[i])
##########################################################
# in ,not in 判断列表是否包含某个特定值
myPets = ['Zophie','Pooka','Fat-tail',]
while True:
print('Enter a pet name: ')
petName = input()
if petName in myPets:
print(petName + ' is in our pets.')
break
elif petName not in myPets:
print(petName + ' is not in our pets.')
##########################################################
# 用列表为多个变量同时赋值,变量数量必须和列表长度严格相等
cats = ['fat','black','loud',]
size,color,disposition = cats
print(size,color,disposition)
##########################################################
# 神奇8球和列表
import random
message = [
'It is decidedly so',
'It is certain',
'Yes definitely',
'Reply hazy try again',
'Ask again later',
'Concentrage and ask again',
'My reply is no',
'Outlook not so good',
'Very doubtful',
]
num = random.randint(0,len(message)-1)
print(num)
print(message[num])
##########################################################
# 变量a赋给变量b,变量a变化不会带来变量b的变化,因为这是两个不同的变量
spam = 42
cheese = spam
spam = 100
print(spam)
print(cheese)
# 当把列表赋给一个变量时,实际上是把列表的'引用'赋给了变量
# 在变量必须保存可变数据类型的值时,例如列表或字典,Python就是用引用,
# 对于不可变的数据类型的值,例如字符串,整型或元组,Python变量就保存值本身
spam = [0,1,2,3,4,5,] # 变量 spam 保存的是列表值的引用,而不是列表值本身
cheese = spam # 变量 spam 把列表值的引用赋给了变量 cheese,至此,这两个变量都指向了同一个列表
cheese[1] = 'Hello'
print(cheese)
print(spam)
##########################################################
# 传递引用
def eggs(someParameter):
someParameter.append('Hello')
spam = [1,2,3]
eggs(spam)
print(spam)
##########################################################
# copy模块的copy()
import copy
spam = ['A','B','C','D',]
cheese = copy.copy(spam) # 创立了第二个列表
print(spam)
print(cheese)
cheese[1] = 42
print(spam)
print(cheese)
print('------------deepcopy-------------')
spam = ['A','B','C','D',[1,2,3]]
cheese = copy.copy(spam)
print(spam)
print(cheese)
cheese[4] = 42
print(spam)
print(cheese)
##########################################################
# 对列表进行追加/删除元素
bacon = [3.14,'cat',11,'cat',True]
print(bacon)
bacon.append(99)
print(bacon)
bacon.remove('cat')
print(bacon)
##########################################################
# 有趣小程序:逗号代码
# 自定义函数,实现的功能是 返回 'apples', 'bananas', 'tofu', and 'cats'
def func(spam):
for i in range(0,len(spam)):
try:
if i == len(spam) - 1:
spam[i] = 'and ' + spam[i]
print(spam[i])
else:
print(spam[i], end=', ')
except TypeError:
print('警告:传入的列表值包含有非字符/字符串')
# 定义不同的列表,并多次调用函数
spam = ['apples','bananas','tofu','cats']
func(spam)
spam = ['apples',]
func(spam)
spam = ['apples','bananas','tofu','cats',12]
func(spam)
spam = ['apples','bananas']
func(spam)
##########################################################
# 遍历列表1
spam = ['apples','bananas','tofu','cats']
lenth = len(spam)
print(lenth)
for i in range(0,lenth):
print(spam[i])
##########################################################
# 假遍历,并没有遍历每个元素,只是单纯的重复打印整个列表多次
spam = ['apples','bananas','tofu','cats']
for i in spam:
print(spam)
# 结果如下:
# ['apples', 'bananas', 'tofu', 'cats']
# ['apples', 'bananas', 'tofu', 'cats']
# ['apples', 'bananas', 'tofu', 'cats']
# ['apples', 'bananas', 'tofu', 'cats']
##########################################################
# 字符图网格
grid = [
['.','.','.','.','.','.'],
['.','0','0','.','.','.'],
['0','0','0','0','.','.'],
['0','0','0','0','0','.'],
['.','0','0','0','0','0'],
['0','0','0','0','0','.'],
['0','0','0','0','.','.'],
['.','0','0','.','.','.'],
['.','.','.','.','.','.'],
]
length = len(grid)
for i in range(0,length):
for j in range(0,len(grid[i])):
print(grid[i][j],end='')
print('')
Python语法练习相关推荐
- Python 语法小知识
为什么80%的码农都做不了架构师?>>> 序列解包 将含有多个值的序列解开,然后把值存放到变量中,当函数或者方法返回元组时这个特性很有用,可以把返回的序列值直接赋值 ...
- python语法书籍推荐_python语法的书
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 四大基本语法分别从变量命名规则.缩进原则.特殊关键字和特殊运算符四个方面,总结 ...
- python身份运算符的语法规则_7 Python语法入门之与用户交互、运算符
本文对应的视频讲解如下: 与用户交互:python快速入门(一)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com 一 程序与用户交互 1.1.什么是与用户交互 用 ...
- python语法错误概述_python语法错误
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我是python中的新手,当我想在模块中编译代码时,我遇到语法错误:invail ...
- 人工智能实践:TensorFlow笔记学习(二)—— Python语法串讲
Python语法串讲 大纲 2.1 Linux指令.HelloWorld 2.2 列表.元组.字典 2.3 条件语句 2.4 循环语句 2.5 turtle模块 2.6 函数.模块.包 2.7 类. ...
- python【数据结构与算法】Python语法查询大宝剑(全)
最近发现自己语法基础捉急,从来没有系统学过python语法. 所以更新一份python基础语法查询大宝剑. 文章目录 1 标准库 1.1 math和cmath 1.2 string 1.3 rando ...
- python基本语法语句-python 语法基础篇 一
安装篇 编辑篇: 编辑python 一 : 在终端环境下输入python命令,回车键运行.这种方式称为 交互方式. 1️⃣ 打开终端: 2️⃣ 输入python 回车 3️⃣ 输入python 语法 ...
- python语法手册-python语法手册
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 常用的也不超过十个,这种相对于更为复杂的html标记语言来说,markdown可谓 ...
- python语法教程-Python语法教程总结规范
Python语法易错点记录 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar-- 心分享.心 ...
- python编程语法大全-python语法汇总
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. splitstriplen()for variable in range ...
最新文章
- 【js】绑定事件的两种方法
- linux下如何修改系统时间
- Linux下监控文件系统
- 登录plsql developer时候出现连接串问题导致的下拉列表中没有出现tnsnames.ora文件中配置的那些服务...
- js 中location 的学习
- C++ Primer学习随笔(一)
- c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计
- Java别说取余( )运算简单,你真的会吗
- 编写一个脚本判断某个用户是否处在活动模式_使用 TypeScript 编写爬虫
- Java ——异常处理
- 基于JAVA+SpringMVC+Mybatis+MYSQL的课堂考勤系统
- 实验一 命令解释程序的编写
- 使用VisualStudio开发php的图文设置方法
- Oracle查询优化改写技巧与案例总结三
- java复制文件乱码_为什么用JAVA写的一个复制文本文档的程序复制出来文本文档乱码...
- 并行磁共振成像——SENSE 敏感度编码成像
- u-boot-2010.09-for-tiny6410-v1.0支持sd卡SDHC卡启动
- 2016-2017-2 《Java程序设计》课程学生博客和代码托管链接
- Php替换公众号图片替换,公众号文章发布后可以替换图片吗?公众号发出去的图片怎么替换?...
- 优化性能问题的一般方法
热门文章
- UVA 12307 Smallest Enclosing Rectangle(旋转卡壳)
- 29Flutter Sliver家族
- 帝国霸业服务器无限加载,帝国霸业银河生存1.0正式版开局生存流程指南
- 民生银行java面试_民生银行面试题目 是什么?
- 男孩取名分享:光彩夺目、聪明机灵的男孩名
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
- PHP中smart原则,SMART原则的五大原则是什么
- 马云开酒吧了,酒吧叫“平头哥”,真猛~
- 网页打印问题-页面显示不全
- 计算机配置时能关机吗,怎么设置时间让电脑自动关机?