Python for循环 break 语句 range()函数

1、练习
1、输入一个整数n,打印 1+2+3+4+...+n的和
思路:1、定义1个变量来控制循环条件

   2、定义1个变量来存储所有数的和

# n = int(input("请输入一个整数:")) # 5
# s = 0 # 存储所有数的和
# i = 1 # 控制循环条件
# while i <= n:
#     s = s + i
#     i = i + 1

2、写程序求 1/1 + 1/3 + 1/5 + ... + 1/99

# s = 0
# i = 1
# while i <= 99:
#     s += 1/i
#     i += 2
# print("1/1+1/3+...+1/99的和为%s" % s)


3、用while循环实现随机生成n为密码(密码为数字、字母、下划线)
提示:1、可以利用字符串相加
2、定义空字符串方式:pwd = ""

 

补充:如果说用户输入的不是数字,则提示输入不合法

 

# import random
# n = input("请输入密码位数:")
# all_chars = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_"
# i = 1 # 控制循环次数变量 
# pwd = "" # 定义空字符串变量,
#          # 以便循环时实现字符串相加
# if n.isdigit(): # 确定是字符串类型的数字再执行
#     n = int(n)  # 将字符串类型数字转换为整型
#     while i <= n:
#         char = random.choice(all_chars)
#         pwd = pwd + char
#         i += 1
#     print("生成的%d位密码为:%s" % (n,pwd))
# else:

#     print("输入不合法")

 

2、break语句
1、作用
用于循环语句中,用来终止当前循环语句的执行
2、说明
1、break语句一旦执行,整个while循环结束
2、break语句通常和if语句组合使用
3、练习
1、改写猜数字游戏程序,要求如下:
1、直到猜对,继续玩游戏

2、按q退出游戏

# import random


# computer = random.randint(1,100)
# while True:
#     you = input("请猜(按q退出游戏):")
#     if you == "q":
#         print("游戏退出")
#         break
#     if you.isdigit():
#         you = int(you)
#         if you == computer:
#             print("恭喜,猜对了!")
#             break
#         elif you < computer:
#             print("很遗憾,猜小了!")
#         else:
#             print("很遗憾,猜大了!")
#     else:
#         print("输入有误")

5、思考
1、修改石头剪刀布游戏,输入q退出游戏
2、修改石头剪刀布游戏,能否让其实现三局两胜制
c_win = 0
y_win = 0

p_win = 0

import random


all_list = ["石头","剪刀","布"]
prompt = """(0)石头
(1)剪刀
(2)布
(q)退出游戏
请你出拳(0/1/2/q):"""
c_win = 0
y_win = 0
p_win = 0
while True:
    you = input(prompt)
    if you in '012q':   
        if you == "q":
            print("游戏退出")
            break
        you = int(you)
        computer = random.choice(all_list)
        win_list = [["石头","剪刀"],["剪刀","布"],\
                    ["布","石头"]] 


        if [computer,all_list[you]] in win_list:
            print("电脑出:%s 你出:%s 你输了" % 
                  (computer,all_list[you]))
            c_win += 1
            if c_win == 2:
                break
        elif computer == all_list[you]:
            print("电脑出:%s 你出:%s 平局" % 
                  (computer,all_list[you]))
            p_win += 1 
        else:
            print("电脑出:%s 你出:%s 你赢了" % 
                  (computer,all_list[you]))
            y_win += 1
            if y_win == 2:
                break
        if c_win + p_win + y_win == 3:
            break
    else:
        print("输入不合法")


if c_win > y_win:
    print("电脑胜!比分为:%d:%d" % (c_win,y_win))
elif c_win < y_win:
    print("你胜!比分为:%d:%d" % (c_win,y_win))
else:
    print("平局!")   

3、for循环
1、作用
for语句可以用来遍历序列或可迭代对象每一个元素
2、可迭代对象包括
字符串(string)
列表(list)
3、语法
for 变量名 in 可迭代对象:
 python语句1...
else:
 python语句2
注意:
1、else子句可以省略
2、语句1执行的次数与可迭代对象元素的个数有关
4、示例
1、
s = "Python"
for i in s:
   print("Python这个字符串中的字母有:%s" % i)
2、
L = ["monkey","tiger","pig","rabbit","dog"]
for m in L:
 print("动物有:%s" % m)
4、range()函数
1、用法
range(起始值,终止值,步长)
终止值:不包括
2、示例
range(3) # [0,1,2]
range(5) # [0,1,2,3,4]
range(1,5) # [1,2,3,4]
range(1,5,2) # [1,3]
range(5,0,-1) # [5,4,3,2,1]
3、示例
1、输入一个整数n,打印从1到n的所有整数
5

1 2 3 4 5

# n = input("请输入一个整数:")
# if n.isdigit():
#     n = int(n)
#     for i in range(1,n+1):
#         print(i,end=" ")
#     print()
# else:
#     print("输入不合法")

2、输入一个整数n,打印从1到n的所有奇数

# n = input("请输入一个整数:")
# if n.isdigit():
#     n = int(n)
#     for i in range(1,n+1):
#         if i % 2 == 1:
#             print(i,end=" ")
#     print()
# else:
#     print("输入不合法")

3、输入一个整数n,打印从1到n的所有偶数

# n = input("请输入一个整数:")
# if n.isdigit():
#     n = int(n)
#     for i in range(1,n+1):
#         if i % 2 == 0:
#             print(i,end=" ")
#     print()
# else:
#     print("输入不合法")

4、练习

1、计算1到100的和(用for循环完成)

# sumn = 0
# for i in range(1,101):
#     sumn = sumn + i
#     # sumn = 0 + 1 #sumn=1
#     # sumn = 1 + 2 #sumn=3
# print("1到100的和为:%d" % sumn)

 

 

2、输入一个正整数n,计算1到n的所有奇数和

 

 

# n = input("请输入一个整数:")
# sumn = 0
# if n.isdigit():
#     n = int(n)
#     for m in range(1,n+1,2):
#         sumn += m
# else:
#     print("输入不合法")

# print("1到%d的所有奇数和为:%d" % (n,sumn))

            3、利用for循环实现随机生成n位密码

# import random


# n = input("请输入密码位数:")
# all_chars = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_"
# pwd = ""


# if n.isdigit():
#     n = int(n)
#     for m in range(n):
#         char = random.choice(all_chars)
#         pwd += char
#     print("随机生成的%d位密码为:%s" % (n,pwd))
# else:
#     print("输入不合法")

作业:
1、输入三个整数x,y,z,请把这三个数在列表中由小到大输出
比如:
First: 5
Second:8
Third: 3
[3,5,8]

提示:append() 、sort()

L = []
i = 1
e = 0
while i <= 3:
    x = int(input("请输入第一个整数:"))
    L.append(x)
    i += 1
    y = int(input("请输入第二个整数:"))
    L.append(y)
    
    i += 1
    z = int(input("请输入第三个整数:"))
    L.append(z)
    i += 1


    L.sort()
while e <= 2:
    print(L[e])
    e += 1

2、写一个程序分别输入三行字符串,要求将这些字符串进行右对齐显示
First: Double Kill
Second:Jujishou
Third:Zhishouzhetian
打印如下:
Double Kill
Jujishou
Zhishouzhetian

提示:max() len() 字符串的运算

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值