python代码基础题-Python基础练习题

12月 3 日

1、使用while循环输入 1 2 3 4 5 6 8 9 10

for i in range(1,10):if i == 7:print(" ",end="")else:print("%d"%i,end="")

2、求1-100的所有数的和

1 for i in range(1,101):2 if i <100:3 j = j+i4 else:5 print(i+j)

3、输出 1-100 内的所有奇数,输出 1-100 内的所有偶数

j =0

k=0for i in range(1,101):if i%2 ==0:

j= j+ielse:

k= k+iprint("所有奇数和为%d,偶数和为%d"%(k,j))

4、求1-2+3-4+5 ... 99的所有数的和

#求1-2+3-4+5...99的所有数的和

defmain():

j=0

i=0while i < 100:if i%2 == 1:

j= j+ielse:

j= j-i

i= i+1

print("1-2+3-4+...+99的和为%d"%j)if __name__ == '__main__':

main()

5、用户登陆(三次机会重试)

1 username = "liuming"

2 password = 123456

3 i =04 while i < 3:5 i += 1

6 user_name = input("请输入你的名称:")7 if user_name ==username:8 pass_word = input("请输入你的密码:")9 if int(pass_word) ==password:10 print("登录成功")11 break

12 else:13 print("密码输入错误,请重新输入")14 if i == 3:15 print("登录超过3次,请明天再试")16 else:17 print("用户名不存在")18 if i == 3:19 print("登录超过3次,请明天再试")

12月4日1.判断下列逻辑语句的True和False

(1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

(2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

(3) 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4> 6 or 3 <2

2.求出下列逻辑语句的值

(1) 8 or 3 and 4 or 2 and 0 or 9 and 7

(2) 0 or 2 and 3 and 4 or 6 and 0 or 3

(3) 5 and 9 or 10 and 2 or 3 and 5 or 4 or 5

3.下列结果是什么?

x or y,若x为真,则返回x.若x为假,y为真,则返回y.若x和y都为假,返回y

x and y,若x为真,y也为真,则返回y.y为假,则返回y.若x为假,则返回x.

(1) 6 or 2 > 1

(2) 3 or 2 > 1

(3) 0 or 5 < 4

(4) 5 < 4 or 3

(5) 2 > 1 or 6

(6) 3 and 2 > 1

(7) 0 and 3 > 1

(8) 2 > 1 and 3

(9) 3 > 1 and 0

(10) 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 >2

4.简述变量命名规范

"""

变量要以数字、下划线或者字母任意组合,且不能以数字开头;

不能以关键字命名;

一般不以中文以及汉字拼音命名;

常量一般全部是大写;

命名要有意义,不宜过长。

"""

5.name = input (">>>")name变量是什么数据类型?

"""

使用input,从键盘上输入的值都将变为字符串类型。

"""6.if条件语句的基本结构?

"""

if xxx:

xxx

elif xxx:

xxx

else:

xxx

"""

7.while循环语句基本结构?

"""

while 条件判断:

执行语句

"""

8.计算1-2+3...+99中除了88以外所有数的和?

i = 1sum=0while i < 100:if i == 88:

i+= 1

continue

elif i%2 !=0:

sum= sum +ielse:

sum= sum -i

i+= 1

print(sum)

9.用户登录(3次输错机会)且每次输错误时显示剩余错误次数(使用字符串格式化)

username = "liuming"password= "123456"i= 3

while i>=0:

name= input("用户名:")

i-= 1

if i ==0:print("你的机会已经用完")break

if name ==username:

passwd= input("密码:")if passwd ==password:print("登录成功")else:print("密码错误,请重新输入,你还有%s次机会"%i)continue

else:print("用户名错误,请重新输入,你还有%s次机会"%i)

10.简述 ascii unicode utf-8编码关系?

"""

ascii 只能显示英文,特殊字符,数字。

万国码:unicode 最开始16位,中文不够32位 4个字节。占用资源多。

升级:utf-8 utf-16 utf-32

utf-8:最少用一个字节,8位表示一个英文。欧洲16位,两个字节。亚洲 24位,三个字节。

gbk:中国国产,只能用于中文和ascii码中的文字,一个中文用两个字节表示。

"""

11.简述位和字节的关系?

"""

位:二进制位(bit)是计算机存储信息的基本单位,代表1个二进制数位,其值为0或1。

字节:8个连续的二进制位为一个字节,可以存放1个西文字符的编码。

"""

12."老男孩" 使用utf-8编码占用几个字节?使用gbk编码占用几个字节?

"""

“老男孩”使用UTF-8编码占用9个字节

“老男孩”使用GBK编码占用6个字节

"""

13.制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示 如:敬爱可亲的xxx,最喜欢在什么地方干xxx.

"""

name = input('请输入姓名:')

place = input('喜欢的地点:')

hobby = input('你的爱好:')

tem = '敬爱可亲的%s,最喜欢在%s地方干%s'%(name, place ,hobby)

print(tem)

"""

14. 等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:“小粉嫩”、“大铁锤”

whileTrue:

msg= input("请输入内容:")if msg == "小粉嫩" or msg == "大铁锤":print("存在敏感字符,请重新输入")else:break

15. 单行注释以及多行注释?

"""

单行注释:#

多行注释:""" """

"""

16. 简述你所知道的Python3和Python2的区别?

"""

Python2:源码杂而乱,且有重复内容,违背了Python的宗旨。默认编码方式是ASCII码,读取中文时会乱码

Python3:遵循“优雅,明确,简单”,默认编码方式是utf-8,读取中文时不会乱码

"""

17. 看代码书写结果:

"""

a = 1>2 or 4<7 and 8 == 8

print(a)

结果:True

"""

18. continue 和 break 的区别?

"""

continue:结束本次循环,继续下一次的循环;

break:直接跳出循环。

"""

19. 看代码书写结果:

"""

a = 12 and 127

print(a)

结果:127

"""

12月5日

1,有变量name = "aleX leNb" 完成如下操作:

""" title() -->首字母大写,其余小写

strip() -->删除字母两边的空格 lstrip -->删除左边空格 rstrip -->删除右边空格

1) 移除name 变量对应的值两边的空格,并输出处理结果

print(name.strip())

2) 移除name变量左边的"al"并输出处理结果

print(name[2:])

3) 移除name变量右面的"Nb",并输出处理结果

print(name[0:-2]

4) 移除name变量开头的a"与最后的"b",并输出处理结果

print(name[1,-1])

5) 判断 name 变量是否以 "al" 开头,并输出结果

if name[0:2] == "al":

print("yes")

else:

print("no")

6) 判断name变量是否以"Nb"结尾,并输出结果

使用 name[-2:]

7) 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果

print(name.replace("l","p"))

8) 将name变量对应的值中的第一个"l"替换成"p",并输出结果

print(name.replace("l","p",1))

9) 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。

print(name.split("l"))

10) 将name变量对应的值根据第一个"l"分割,并输出结果。

print(name.split("l",1))

11) 将 name 变量对应的值变大写,并输出结果

print(name.upper())

12) 将 name 变量对应的值变小写,并输出结果

print(name.lower())

13) 将name变量对应的值首字母"a"大写,并输出结果

print(name.capitalize())

14) 判断name变量对应的值字母"l"出现几次,并输出结果

print(name.count("l"))

15) 如果判断name变量对应的值前四位"l"出现几次,并输出结果

print(name.count("l",0,4))

16) 从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果

print(name.find("N",0,))

17) 从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果

print(name.index("N",0,))

18) 从name变量对应的值中找到"X le"对应的索引,并输出结果

print(name.find('X le'))

19) 请输出 name 变量对应的值的第 2 个字符?

print(name[1])

20) 请输出 name 变量对应的值的前 3 个字符?

print(name[0:3])

21) 请输出 name 变量对应的值的后 2 个字符?

print(name[-3:-1])

22) 请输出 name 变量对应的值中 "e" 所在索引位置?

print(name.find('e')

2,有字符串s = "123a4b5c"

1)通过对s切片形成新的字符串s1,s1 = "123"

2)通过对s切片形成新的字符串s2,s2 = "a4b"

3)通过对s切片形成新的字符串s3,s3 = "1345"

4)通过对s切片形成字符串s4,s4 = "2ab"

5)通过对s切片形成字符串s5,s5 = "c"

6)通过对s切片形成字符串s6,s6 = "ba2"

s = "123a4b5c"

print(s[0:3])

print(s[3:6])

print(s[0::2])

print(s[1:-1:2])

print(s[-1:])

# 这里的-2 是指:从右往左数,

s6 = s[-3::-2]

print("s6 = " + s6)

3,使用while和for循环分别打印字符串s="asdfer"中每个元素。

s="asdfer"

for i in s:

print(i,end=" ")

j = 0

while j

print(s[j],end=" ")

j += 1

if j == len(s):

break

4,使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。

for i in s:

print(i,end="") # end=""不换行且没间隔

5,使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。

for i in s:

print(i+"sb")

6,使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。

s = "321"

for i in s:

print("倒计时%s秒" % i)

if int(i) == 1:

print("出发")

break

7,实现一个整数加法计算器(两个数相加):

如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。

content = input("请输入内容:")

index = content.find("+") #查看+号的索引值,如果没有,返回-1

k1 = int(content[0:index])

k2 = int(content[index+1:])

print(k1+k2)

8,升级题:实现一个整数加法计算器(多个数相加):

如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。

list = input("请输入内容:").split("+")

sum = 0

for i in list:

sum = sum+int(i)

print(sum)

9,计算用户输入的内容中有几个整数(以个位数为单位)。

如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla

content = input("请输入内容:")

count = 0

for i in content:

if i.isdigit(): #判断i是否为整数

count += 1

print(count)

10、写代码,完成下列需求:

用户可持续输入(用while循环),用户使用的情况:

输入A,则显示走大路回家,然后在让用户进一步选择:

是选择公交车,还是步行?

选择公交车,显示10分钟到家,并退出整个程序。

选择步行,显示20分钟到家,并退出整个程序。

输入B,则显示走小路回家,并退出整个程序。

输入C,则显示绕道回家,然后在让用户进一步选择:

是选择游戏厅玩会,还是网吧?

选择游戏厅,则显示 "一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。

选择网吧,则显示"两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。

while True:

content = input("请输入你要执行的操作:A-走大路,B-走小路,C-绕道回家:")

if content == "A":

print("走回去")

msg = input("请输入你的回家方式,公交车-1,步行-2:")

if msg == "1":

print("10分钟到家")

break

else:

print("20分钟到家")

break

elif content == "B":

print("走小路回家")

break

elif content == "C":

print("绕道回家")

msg_num02 = input("请输入你的选择,游戏厅-2,网吧-1:")

if msg_num02 == "1":

print('两个小时到家,妈妈已做好了战斗准备。')

continue

else:

print("一个半小时到家,爸爸在家,拿棍等你。")

continue

else:

print("你输入错误,请重新输入")

习题来自网上找到的老男孩python日常习题,都是我在pycharm上敲的,本人自学,习题会继续更新,接收大家批评教育,谢谢。

你可能感兴趣的:(python代码基础题-Python基础练习题)