老咸鱼学python实录20200527

基础语法

在这里插入图片描述

练习

1.使用遍历循环完成剪刀石头布游戏,提示用户输入要出的拳 :石头(1)/剪刀(2)/布(3)/退出(4)
电脑随机出拳比较胜负,显示用户胜、负还是平局。运行

分析: us pc
平局: 1 1
2 2
3 3
用户赢: 1 2
2 3
3 1
电脑赢了: 1 3
2 1
3 2

li=['石头','剪刀','布','退出']#定义一个列表用于存放数据
print('*******************剪刀石头布游戏开始*******************')
print('**石头(1)/剪刀(2)/布(3)/退出(4)**')
while True:#定义一个死循环
  user_nub=int(input('请输入您要出的拳:'))
  pc_nub=random.randint(1,3)#电脑随机出拳1-3之间
  if user_nub not in range(1,5):#判断用户输入数据是否在1-4之间
      print('请按游戏规则出拳!')
      continue#结束当前循环,继续从头开始
  elif user_nub==pc_nub:#根据分析判断,什么时候平局
      print('用户出的{},电脑出的{},平局了'.format(li[user_nub-1],li[pc_nub-1]))
  elif user_nub-pc_nub==-1 or user_nub-pc_nub==2:#根据分析,什么时候用户赢
      print('用户出的{},电脑出的{},用户赢了'.format(li[user_nub-1],li[pc_nub-1]))
  elif user_nub==4:
      break#当用户输入4结束死循环,有戏结束
  else:#抛去其它条件,剩下的电脑赢
      print('用户出的{},电脑出的{},电脑赢了'.format(li[user_nub-1],li[pc_nub-1]))
      

2、编写如下程序
a.用户输入1-7七个数字,分别代表周一到周日
b.如果输入15,打印对应的“周一”“周五”,如果输入的数字是6或7,打印输出“周末”
c.如果输入0,退出循环
d.输入其他内容,提示:“输入有误,请重新输入!”

li=['周一','周二','周三','周四','周五','周六','周日']#定义个列表用于存放数据
while True:
    user_nub=int(input('请输入数字:'))
    if user_nub in range(1,8):#判断成员在区间不
        print('您输入的值对应的是:{}'.format(li[user_nub-1]))#下标取值格式化输出
    elif user_nub==0:
        break#跳出死循环
    else:
        print('您输入有误,请重新输入!')
        

3、冒泡排序

def list_sort(array):
    count = 0                   # 记录一下交换的次数,如果为0则说明array本就是有序列表
    for i in range(len(array) - 1, 0, -1):
        for j in range(0, i):
            if array[j] > array[j + 1]:
                array[j], array[j + 1] = array[j + 1], array[j]
                count += 1
                print("交换{}次了, 列表现在是:{}".format(count, array))
        if count == 0:          # count为0,说明没有交换过一次,直接原列表皆可
            print("这原本就是有序列表")
            return array

    return array
    

4、 一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,
如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(%10或20%)和最终价格。

price = int(input('请输入您购买物品的价格:'))#定义变量接收用户输入价格
if 50 <= price <= 100:#条件1
   print('您可享受的折扣为10%,最终成交价为:{}'.format(price * 0.9))
elif price>100:#条件二
   print('您可享受的折扣是20%,最终成交价为:{}'.format(price*0.8))
else:
   print('条件不满足,不可以享受折扣,最终价格为{}'.format(price))
   

5、判断是否为闰年
输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况)
如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”

year=int(input('请输入年份:'))#定义一个变量接收用户输入的年份
if year%4==0 and year%100!=0:#条件1:被4整除,并且不能被100整除
   print('{}年是闰年'.format(year))
elif year%400==0:#条件2:被400整除
   print('{}年是闰年'.format(year))
else:#抛去其它条件,一概不是
   print('{}年不是闰年'.format(year))
   

6、求三个整数中的最大值

li=[]
for i in range(3):#利用随机数,迭代循环三次
   nub=int(input('请输入您要输入的第{}个数字:'.format(i+1)))
   li.append(nub)#每输入一次加入到列表
   
li.sort(reverse=True)#降序排列
print('最大的值是:{}'.format(li[0]))#索引取最大值

7、使用for打印九九乘法表

for i in range(1,10):
   for j in range(1,i+1):
       print('{}*{}={}'.format(j,i,i*j),end='\t')
   print('')
   
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值