小肥羊要进步

python05_Practice

1统计输入的字符有多少个?
知识点:1.输入 2.遍历 3.有储存结果的变量 4.模板字符串
s=input("请输入一个字符串:“)

result=0

for i in s:

  result+=1

print("输入的内容%s,一共有%s个字符"%(s,result))

2.统计输入的字符多少个字母和数字?

思考点:1.输入 2.遍历 3.有存储结果的变量

4.模板字符串 5.if 判断是数字还是字母?不是数字也不是字母?

方法一:

s=input("请输入一个字符串: “)

letter_count=0

num_count=0

for i in s:

#判断i是否是字母

  if ( i>="a" and i <="z") or ( i>="a" and i <="z")

    letter_count+=1

 #判断是否是数字

   elif  i>="0" and i<="9":

    num_count+=1

print("输入的内容是%s,一共有%s个字母,一共有%s个数字"%(s,letter_count,num_count))

方法二:

import string

s=input("请输入一个字符串: ")

letter_count=0

num_count=0

for i in s :

#判断i是否是个字母

  if i in string.ascii_letters:

    letter_count+=1

#判断i是否是个数字

  elif i in string.digits:

    num_count+=1

print("输入的内容是%s,一共有%s个字母,一共有%s个数字"%(s,letter_count,num_count))

3.将字符串中的数字去掉,只保留字母

知识点:1 字符串可以改变吗?不能

2.想修改内容?需要把字符串改为list

3.怎么修改列表的内容?

 

s="abc123%*&"

s=list(s)

priint(type(s))

#遍历列表,判断是否是字母,是的话放到一个新列表,不是就忽略

for i in s:

  if i in string.digits:

    continue

  else:

    result.append(i)

print(result)

print("".join(result))

 

>>> s="a"
>>> s
'a'
>>> id(s)
1913517895160
>>> s+="b"
>>> s
'ab'
>>> id(s)
1913518918600

>>> l=[]
>>> l.append(1)
>>> l
[1]
>>> l=[]
>>> id(l)
1913518931720
>>> l.append(l)
>>> id(l)
1913518931720
>>> l.append(2)
>>> id(l)
1913518931720
>>>

4.输入3个学生成绩,求和,平均数和最好成绩

1.存多个数据使用List/tuple/dict,list

2.输入input

3.遍历list

4.求和,求平均值,求最大值

5,格式化输出

scores=[ ]

for i in range(3):

  student_score=input("请输入第%s个学生成绩"%i)

  scores.append(int(student_score))

score_sum=0

for i in scores:

  score_sum+=i

average_score=score_sum/3

max_score=max(scores)

print("成绩总和:%s,平均成绩:%s,最佳成绩: %s"%(score_sum,average_score,max_score))

5.输入一个学生成绩,判断是优良中几个和不及格

知识点:1.输入 2 类型转换 3 if elif else

score=input(“请输入一个学生成绩: ”)

score=int(score)

if score>=90:

  print("优")

elif score>=80:

  print("良")

elif score>=70:

  print("中")

elif score>=60:

  print("及格")

else:

  print("不及格")

 

6.生成3个随机字母的字符串生成一个随机小数字符串,2 个整数位和2个小数位

知识点:1,生成一个随机数  2,循环 3 拼接字符串 4 随机生成数字 5.根据ascii码生成字母

import random

rangdom_letters=" "

for i in range(2):

  rangdom_letters+=chr(rangdom.rangdint(97,122))

print("随机的2个字母四: “,rangdom_letters)

rangdom_float=str(rangdom.randint(10,99))+"."+\

str(random.randint(10,99))

方法2:

random_float=round(random.randint(10,99)+random.random(),2)

random_float=str(random_float)

 

7.统计一个数字中包含奇书数字的个数

知识点:1.什么叫奇书 2怎么遍历3 数字转字符串 4  if 5多个数据,最后存储到结果中

num=123232311

num=str(num)

result=[ ]

for i in num:

  if int(i)%2==1:

    result.append(i)

print("一共有多少个奇书:%s"%len(result))

 

8.将数字的每一位+2,转换成一个新数字(整数和小数)

知识点 :数字转换位字符串,遍历,转换为数字,计算,拼接到一个变量,转换数字

num=123.65444

num=str(num)

result=" "

for i in num:

  if i!=".":

    result+=str(int(i)+2[:1]

  else:

    result+="."

 

print(float(result))

9.将每个小写字母转换为大写字母,大写字母转换为小写字母

 

s="a"

if s>="a" and s<="z":

  print(chr(ord(s)-32))

else:

  print(chr(ord(s)+32))

10.将一个bytes类型的gbk字符串,转为utf-8编码的bytes字符串

知识点:

1.默认python字符串类型是Unicode

2.unicode字符串使用encode后,就变为bytes类型

3.bytes类型decode后,就变为unicode类型

4.用什么字符集encode,那么使用decode时候要使用相同的字符集

 

s="中国" #unicode

s=s.encode("gbk")

s=s.decode("gbk").encode("utf-8")

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

posted on 2020-12-04 23:49  小肥羊要进步  阅读(195)  评论(0编辑  收藏  举报

导航