python语言篇(3练习3)

本文介绍了使用Python的while和for循环进行字符串生成和计数练习。内容包括生成'A-Z'和'Aa-Zz'的字符串,计算输入字符串中空格的数量,以及一系列涉及循环的编程练习,如打印矩阵、打印指定范围内不被5、7、11整除的数字的和等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 3.用while 循环生成如下字符串:
#    1. 生成'ABCDEFG...... XYZ' 并打印
#    2. 生成'AaBbCcDdEeFf.....XxYyZz' 并打印
#    提示:
#      用chr和ord函数

# 1. 生成'ABCDEFG...... XYZ' 并打印
az = ""  # 用于累加字符
for i in range(ord('A'), ord('Z') + 1):
    az += chr(i)
else:
    print(az)

# 2. 生成'AaBbCcDdEeFf.....XxYyZz' 并打印
az = ''
for i in range(ord('A'), ord('A') + 26):
    az += chr(i) + chr(i + 0x20)
else:
    print(az)
 

# 练习:
#   写程序,任意输入一行字符串,打印这个符串内有多少个空格' '(要求用for语句,不能用S.count方法)

#   思考:
#     上题能否用while语句实现?

s = input("请输入一行字符串: ")
# 用for语句实现
# count = 0  # 创建一个变量,准备计数,初始值是0
# for x in s:
#     if x == ' ':
#         count += 1
# else:
#     print("空格的个数是:", count)

# 用while语句实现
count = 0  # 创建一个变量,准备计数,初始值是0
length = len(s)  # 得到长度
i = 0  # 索引的起始值
while i < length:
    x = s[i]
    if x == ' ':
        count += 1
    i += 1
else:
    print("空格的个数是:", count)

 

#     (输入一个数n(10以内) 代表矩形的宽度和高度)
#   如:
#     请输入: 5
#   打印如下:
#   1 2 3 4 5
#   2 3 4 5 6
#   3 4 5 6 7
#   4 5 6 7 8
#   5 6 7 8 9
#     请输入: 3
#   打印如下:
#   1 2 3
#   2 3 4
#   3 4 5

n = int(input("请输入一个数: "))

for i in range(1, n + 1):
    # print(i)
    for j in range(i, i + n):
        print(j, end=' ')
    else:
        print()

 

# 02_integers.py

# 2. 写一个程序。
#   输入一个开始的整数值用变量begin绑定
#   输入一个结束的整数值用变量end绑定
#   打印从begin到end(不包含end)的每个整数(打印在一行内)
#   如:
#   请输入开始值: 8
#   请输入结束值: 30
#   打印结果:
#     8 9 10 11 12 ...... 28 29
#   附加思考:
#     如何实现每5个数字打印在一行内?

begin = int(input("请输入开始值: "))
end = int(input("请输入结束值: "))

for i in range(begin, end):
    print(i, end=' ')
    # 换行:
    if (i + 1 - begin) % 5 == 0:
        print()
else:
    print()
 

# 练习:
#   用循环输入文字,将每次输入的文字保存在一个列表L中,
#     当输入空行时结束输入.并打印列表 L 的内容

L = []

while True:
    s = input("请输入字符串: ")
    if s == '':
        break
    L += [s]

print(L)
 

# sum_1_100_skip_5711.py


# 练习:
#   写一个程序,求1 ~ 100之间所有不能被
#     5,7,11整除的数的和

s = 0
for i in range(1, 101):
    if i % 5 == 0:
        continue
    if i % 7 == 0:
        continue
    if i % 11 == 0:
        continue
    s += i
else:
    print("和是:", s)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值