python06_while、for循环练习

1、编写如下程序:

a.用户输入1~7七个数字,分别代表周一到周日;

b.如果输入1~5,打印对应的“周一”~“周五”,如果输入的数字是6或者7,打印输出“周末”

c.如果输入0,退出循环

d.输入其他内容,提示:“输入有误,请重新输入!”

提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确。不用考虑浮点数等情况

weekday = ['周一','周二','周三','周四','周五','周末','周末']
while True:
    num = input('请输入1~7七个数字,分别代表周一到周日:')
    if num == '0':
        break
    if int(num) not in range(1,8):
        print('输入有误,请重新输入!')
    else:
        print(weekday[int(num)-1])

2、编写程序实现 在程序中预设一个0~9之间的整数(预设就是指自己指定一个数字即可),让用户通过键盘输入所猜的数,如果大于预设的数,显示 “遗憾,太大了”,小于预设的数,显示“遗憾,太小了”,若此循环,直至猜中该数,显示“预测了N次,你猜中了!”,其中N是用户输入 数字的次数。提示:使用while无限循环,当猜中时break

number = 78
count = 0
while True:
    guess = int(input('请输入一个整数:'))
    count += 1
    if guess > number:
        print('遗憾,太大了')
    elif guess < number:
        print('遗憾,太小了')
    else:
        print(f'预测了{count}次,你猜中了')
        break

3、循环:冒泡排序

# 自动化测试基本用不到,但是面试会问
# 方法一
def bubbleSort(arr):
    for index,start in enumerate(arr):
        for index2,end in enumerate(arr[:len(arr) - index -1]):
            if arr[index2] > arr[index2 + 1]:
                arr[index2],arr[index2 + 1] = arr[index2 + 1],arr[index2]
    return
# 方法二
def demo01(test):
    n = len(test)
    for k in range(1,len(test)):
        for j in range(n-k):
            if test[j] > test[j+1]:
                test[j],test[j+1] = test[j+1],test[j]
    return
# 冒泡排序交换位置
a = 1
b = 2
a,b = b,a
print(a,b)

4、输出99乘法表(双重for循环),每项数据之间空一格Tab键,可以使用'\t'

# 方法一:
a = [1,2,3,4,5,6,7,8,9]
for start in a:
    for end in a:
        if end <= start:
            print(f"{end}*{start}={start*end}",end='\t')
    print()

print('*'*100)
# 方法二:
for i in range(1,10):
    for j in range(1,i+1):
        print('{} * {} = {}'.format(j,i,i*j),end='\t')
    print()

5、用户输入月份,判断这个月是哪个季节(for循环实现)

a = input('月份')
spring = ['3','4','5','春季']
summer = ['6','7','8','夏季']
autumn = ['9','10','11','秋季']
winter = ['12','1','2','冬季']
for season in [spring,summer,autumn,winter]:
    for month in season:
        if a == month:
            print(f'我选择是{a},季节为{season[-1]}')

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值