python练习100题(持续更新)9

作为一个有过编程基础的人,普通的python课已经无法满足期望值,意向尽快使用python做一些有趣的小玩意,为了尽快掌握python语法就在哔哩哔哩上看了一些练习课,链接地址是:https://www.bilibili.com/video/BV12P411c7Bf?p=4&vd_source=9fd5615f3e18c29080a5fcfc9ebfa535
ctrl + alt + l : pycharm的格式化当前代码
Ctrl + Shift + Alt + J : 选中全部相同字符(变量)快捷键组合:
Alt + J : 选中下一个相同字符(变量)的快捷键:
一起做下去吧~

  1. 逐行求和
a = 1
a = 2
a = 3
print(a + a + a)

答案 9 因为python逐行向下执行,如果遇到已声明过的变量会被覆盖 因而a终值为3,3*3得9

  1. 声明变量练习
# 会报什么错误

a = 1
a1 = 2
a2 = 3
a3 = 4
_a3 = 5
4a3 = 5

> 会报声明变量(语法)错误,python声明变量只允许字母或者下划线开头

3. 赋值练习

```python
 a = 2
 b = 2
 print(a == b)
 print(b == c)

语法错误 c未定义,pyt中变量需要先定义再使用

  1. 类型出错
  # 修复如下代码,使其输出数字1+2结果为3
a = '1'
b = 2
print(a + b)

类型错误,pyt中不能隐式转换,需要用int(str)或者str(int)强转成同一类型后再运算,本题应使用int(a)后再相加

  1. 缩进错误
for letter in 'hello':
	if letter == 'e'
	print(letter)

缩进错误,pyt中严格缩进,在代码块中缩进标识一个作用域范围,正确做法第三行应该再缩进一个缩进单位;

tips1: for语句时,应该以冒号结尾!
tips2: if语句时,同样应以冒号结尾!
tips2: pyt的与或非分别对应and、'or'、'not' ,而不是其他语言中的&&||!

  1. 结尾错误
#: 给出报错原因并修复

print(type('hey'.replace('ey','i')[-1])

尾括号少了一个

pyt中str类型[-1]表示该字符串中最后一位

  1. 关键字错误
pass = input('input your psd')

pass是pyt关键字,pyt中的关键字不允许作为变量使用

pyt不允许在条件语句或者定义类或者函数时置为空,因而可以使用pass关键字表示当前作用域下什么都不做
在pycharm中,关键字以斜体表示

  1. 未定义错误
# 解释报错原因并修复 期望最终输出3
# math.sqrt:求一个数字的平方根
math.sqrt(9)

math是内置模块之一,但是默认不会自动导入,需要手动导入
pyt的此函数默认输出float类型,且该语句没有输出值,因而在求值后还要用int强转为整数

import math
print(int(math.sqrt(9)))
  1. 输出指定索引序列元素
# 已知b在序列中,输出b位置
lista = ['a', 'b', 'c','d','e','f','g']

答案

# 已知b在序列中
print(lista[1])

#如果不知道b是否在序列中,需要判断一下先:
# 确认b在序列中 使用in
if('b' in lista):
	bIndex = lista.index('b')
	print(lista[bIndex])
# 或者:
('b' in lista) and print(lista[lista.index('b')])

# 定义了一个函数并执行:
def get_var(var_name, mylist):
	return (var_name in mylist) and print(mylist[mylist.index(var_name)])

# pyt没有作用域提升,逐行执行,因而需要先定义函数在执行
get_var('b', lista)

tips1: in关键字用于在序列中判断是否有某个值
tips2: def关键字用于定义函数
arr[index]用于查找序列中某个索引的第一个值,index如果超出数组最大索引会报错

  1. 输出子序列

以上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章