0107 while 循环 、字符串

for回顾:

for 变量 in range(起始,终止,步长)
	循环体

while循环
鸡兔同笼

#用while做鸡兔同笼。鸡兔一共有50只,脚一共有160只,问鸡和兔各多少只?要求鸡兔至少一样一只。
m = 1#鸡
# 50-m=兔
while m<50:#限制条件,防止死循环
    if m*2+(50-m)*4==160:
        print(m,50-m)
#2000 年我国人口为13亿,如果人口每年的自然增长率为7 %,那么多少年 后我国人口将达到15亿?设计一个算法的程序
year = 0
cp = 13
while cp<15:
    cp = cp*(1+0.07)
    year += 1
print(2000+year)

break与continue
break 终止
continue 继续执行
计算
计算特定增长率

# 2000 年我国人口为13亿,如果人口每年的自然增长率为7 %,那么多少年 后我国人口将达到15亿?设计一个算法的程序
year = 0
cp = 13
while cp<15:
    cp = cp*(1+0.07)
    year += 1
print(2000+year)

计算规律数字的和

# 给出50个数,1,2,4,7,11,„,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,„,
# 以此类推.要求计算这50个数的和.先将下面给出的程序框图,再根据程序框图写出程序.
sum = 1
a = 1
c = 1
while c<50:
    a = a+c
    sum += a
    c += 1
print(sum)

计算平均数

sum = 0
flag = False
for i in range(5):
    score = int(input('输入成绩'))
    if score<0:
        flag = True
        break#如果小于0,循环结束
    sum += score
    print(i)
if not flag:
    print(sum/5)
else:
    print('输入错误')

循环录入,统计特定条件的

# 循环录入python课的学生成绩,统计分数大于等于 80分的学生比例(使用continue)
count = 0
for i in range(10):
    score = int(input('输入成绩'))
    if score<80:
        continue
    count+=1

字符串
单引号 双引号 三引号都可以

name1 = "abc"
name2 = 'ABC'
name3 = '''
hello
'''

第一个字符为序号为0,以此类推

print(name1[0])
len(name1)#字符长度
type()#类型
max()#最大值
min()#最小值
name1 = '我是aBC'
print(name1.isalpha())
print(name1.isdigit())
print(name1.isalnum())
print(name1.islower())
print(name1.isupper())
print(name1.isspace())
print(name1.index('是',1,4))
print("-".join(name1))#插入
print(name1.split("/"))#拆分
print(name1.replace("aBC","学生"2))#替换,替换相同的字符2次
print(name1.strip())#去除首尾空格
print(name1.find("是"))#寻找特定字符
print(name1.endswith("1.jpg"))#以1结尾
print(name1.startswith(""))#以...开头
print(name1.rjust(10,"*"))#用*补齐字符串到10位
s = '举杯邀明月'
print(s.encode(encoding='utf-8'))#编码为utf-8

判断一个字符串是否是回文

s = input('输入字符串')
if s==s[-1::-1]:
    print('是')

有一身份证号, 判断此为男还是女, 基于此方法, 写一个算法, 判断一个身份证号为男还是女。(身份证分15位和18位)

s = int(input('输入身份证号'))
if s[-2]%2==0:#倒数第二位是偶数
    print('女')
else:
    print('男')

字符串右移n位, 例如 “hello world” 右移两位
ldhellowor

s = "hello world"
n = 3
print(s[-n::]+s[0:len(s)-n])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值