python函数中需要得到字符串实参_python之字符串,列表,元组,字典,函数

Python中的字符串

python中的字符串可以使用’'或者""引起来

定义一个变量,即可引用字符串

a = ‘I love china!!!’

字符串的特性:

索引,切片,重复,连接,成员操作符,for循环

索引

索引号是以0开始

切片

切片 s[startstep] 从start0开始到end

重复

s*10 重复10次

连接

成员操作符

for循环

可以使用for循环进行遍历,for循环即就是字符串中的内容

练习一:

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左) 读都是一样 的整数。

是用的是字符串的切片

字符串的常用方法

是否是标题,标题是以大写开头:

字符串的特性

出去空格,这里的空格指的是广义的空格,包括\n,\t等。

定义的是广义上的空格。

字符串的判断

[[:digit:]] 数字

[[:alpha:]] 字符

只要有一个元素步满足条件 就返回False

print(‘23123’.isdigit())

print(‘fcafascav’.isalpha())

print(‘dasasasd414#####214’.isalnum())

练习:

变量名定义是否合法:

1.变量名可以由字母 数字 下划线组成

2.变量名只能以字母和或者下划线开头

字符串的对齐

搜索和替换

统计

字符串的分离和连接

小米笔试编程题目

题目描述:

给定一个句子(只包含字母和空格), 将句子中的单词位置反转, 单词用空格分割, 单词之间只有一个空格,前>后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

输入描述:

输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)

输出描述:

对于每个测试示例,要求输出句子中单词反转后形成的句子

示例1: ```

输入

hello xiao mi

输出

mi xiao hello

练习题一

设计一个程序,帮助小学生练习10以内的加法

详情:

- 随机生成加法题目;

- 学生查看题目并输入答案;

- 判别学生答题是否正确?

- 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);

count = 0

right = 0

import random

while True:

a = random.randint(0,9)

b = random.randint(0,9)

sum = a + b

print('%d + %d '%(a,b))

SUM = input('请输入结果: ')

if SUM == 'q' and count != 0:

print('您一共计算了%d个题目' % count)

print('您回答正确了%d个题目' % right)

print('您的正确率是: %.2f%%' % ((right / count) * 100))

print(exit)

break

elif SUM == 'q' and count == 0:

print('您还没有进行运算')

print(exit)

break

elif int(SUM) == sum:

print('回答正确')

right += 1

else:

print('回答错误,请重试!!')

count +=1

练习题二

小学生算术能力测试系统:

设计一个程序,用来实现帮助小学生进行百以内的算术练习,

它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目;

练习者根据显示的题目输入自己的答案,

程序自动判断输入的答案是否正确并显示出相应的信息。

“”"

import random

op = [’+’,’-’,’*’,’/’]

print(random.choice(op))

print('如果想退出,请输入q即可退出')

count = 0

right = 0

import random

for i in range(1,10):

a = random.randint(0,99)

b = random.randint(0,99)

op = ['+', '-', '*', '/']

s = random.choice(op)

print('%d %s %d = '%(a,s,b))

SUM = input('请输入结果: ')

if SUM == 'q':

print(exit)

break

if (s == '+'):

sum = a +b

elif (s == '-'):

sum = a -b

elif (s == '*'):

sum = a * b

elif (sum == '/'):

sum = a / b

if int(SUM) == sum:

print('nice')

right +=1

else:

print('Sorry,Pease try again!!!')

count +=1

percent = (right/count)*100

print('您总共年做了%d道题,回答对了%d道题,正确率为%.2f'%(right,count,percent))

列表

数组:存储同一种数据类型的集合 scores = [89 99 100…]

列表(打了激素的数组):可以存储任意数据类型

list = [1,1.2,True,‘westos’]

print(list)

print(type(list))

列表的特性

练习一

假定有下面这样的列表:

names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]

输出结果为:‘I have fentiao, fendai, fensi and apple.’

练习二

输入某年某月某日(yyyy-MM-dd),判断这一天是这一年的第几天?

cal = input('请输入日期 yyyy-MM-dd: ')

date = cal.split('-') #拆分日期

year = int(date[0])

month = int(date[1])

day = int(date[2])

arr = [0,31,28,31,30,31,30,31,31,30,31,30,31]

num = 0

if ((year % 4 ==0) and (year %100 !=0) or

(year % 400 ==0)):

arr[2] = 29

for i in range(1,len(arr)):

if month > i:

num += arr[i]

else:

num += day

break

print('天数:',num)

列表元素的增加删除

查看

练习

题目:输入三个整数x,y,z,请把这三个数由小到大输出

列表元素的排序

列表元素的修改

元组的应用场景

a = 1

b = 2

b,a = a,b

print(a) #b,a=(1,2) b=(1,2)[0] a=(1,2)[1]

print(b)

#打印变量

name = ‘westos’

age = 11

t = (name,age)

print(‘name:%s,age%d’ %(name,age))

print(‘name:%s,age%d’ %t)

#元组的赋值:有多少个元素,就用多少个变量接收

t = (‘westos’,10,100)

name,age,score = t

print(name,age,score)

字典

字典的定义:key-value 键值对

工厂函数

d = dict()

print(d,type(d))

d = dict(a=1,b=2)

print(d,type(d))

字典的嵌套

字典的特性

成员操作符和for循环

字典的key和value的增加

删除

查看

练习一

数字重复统计:

1). 随机生成10个整数;

2). 数字的范围[20, 100],

3). 升序输出所有不同的数字及其每个数字重复的次数;

练习二

重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;

# 1. 用户输入一句英文句子;

# 2. 打印出每个单词及其重复的次数;

“”"

s = input('s:')

# 1.把每个单词分割处理

s_li = s.split()

print(s_li)

# 通过字典存储单词和改单词出现的次数

word_dict = {}

for item in s_li:

if item not in word_dict:

word_dict[item] = 1

else:

word_dict[item] += 1

print(word_dict)

练习三

#1. 随机生成100个卡号;

卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),

2. 生成关于银行卡号的字典,

默认每个卡号的初始密码为"redhat";

输出卡号和密码信息, 格式如下:

卡号 密码

6102009001 000000

函数

如何定义一个函数

def hello():

print(‘hello’)

print(‘python’)

#通过函数名来调用函数

hello()

hello()

#函数里面嵌套函数

def westos(): ##函数一

print(‘is westos’)

def python(): ##函数二

print(‘is python’)

python()

westos()

#定义函数的时候的变量 较形参(形参名可以任意)

def welcome(a):

print(‘hello’,a)

#真实的数据信息,调用函数的时候传递的参数较实参

welcome(‘tom’)

welcome(‘lily’)

参数

参数:形参 实参

形参:位置参数 默认参数 可变参数 关键字参数

位置参数:形参和实参数量必须保持一致

def getInfo(name,age): # 按照位置传递参数

print(name,age)

getInfo(‘westos’,11)

getInfo(11,‘westos’)

getInfo(age=11,name=‘westos’)

默认参数

def mypow(x,y=2):

print(x**y)

mypow(2,3)

mypow(2)

可变参数

def mysum(*args):

print(*args)

print(args)

sum = 0

for item in args:

sum += item

print(sum)

nums = [1,2,3,4]

nums1 = (1,2,3,4)

nums2 = {1,2,3,4}

mysum(1,2,3,4,5)

参数解包 在参数名前加*

mysum(*nums)

mysum(*nums2)

关键字参数

**kwargs是一个字典 可以传递任意多个key-value

def getStuInfo(name,age,*kwargs):

print(name)

print(age)

print(kwargs)

d = dict(a=1,b=2)

如果要对字典进行解包 一个 获取所有的key值

print(*d)

getStuInfo(‘westos’,11,sex=1,score=100)

返回值

返回值:函数运行的结果 还需进一步操作 就给函数一个返回值

return用来返回函数的执行结果,如果函数没有返回值 默认返回None

一旦遇到return函数执行结束 后面的代码不会执行

多个返回值的时候,python会帮助我们封装成一个元组类型

如果我们不定义值,则使用默认值

作用域

局部变量:在函数内部定义的变量 只在函数内部起作用 函数

执行结束后 变量会自动删除

“”"

a = 1

print('outside:',id(a))

def fun():

global a #声明a为全局变量

a = 5

print('inside:',id(a))

fun()

print(a)

print(id(a))

练习一

求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字

while True:

a=int(input('输入a:'))

if len(str(a))==1:

count = int(input('输入相加次数:'))

def add(a,count):

'''

:param a: #a为数字

:param count: #输入相加次数

:return:

'''

list_new = []#建立空列表

s = 0#给s赋值0

a=str(a)#将a转化为字符串

for i in range(1,count+1):

list_new.append(int(a*i))

print(list_new[i-1],end=" ")

if i

练习二

:判断101-200之间有多少个素数,并输出所有素数

练习三:

3.题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;

利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;

20万到40万之间时,高于20万元的部分,可提成5%;

40万到60万之间时高于40万元的部分,可提成3%;

60万到100万之间时,高于60万元的部分,可提成1.5%;

高于100万元时,超过100万元的部分按1%提成;

从键盘输入当月利润I,求应发放奖金总数?

money = float(input("请输入当月利润,单位为万元:"))

bonus = 0

li = [100, 60, 40, 20, 10, 0]

bi = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]

for i in range(6):

if money > li[i]:

cmoney = money - li[i]

bonus = bonus + cmoney * bi[i]

# money = money - cmoney

money = li[i]

print("当月应发放奖金总数为%s万元" % bonus)

题目:两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单。有人队员打听比赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值