基础语法
练习
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('')