在练习python的过程中,顺便把一些题目分享给大家
设计一个剪刀、石头、布的游戏
让系统随机产生剪刀、石头、布,让用户与电脑进行竞猜。
我们可以让电脑产生的剪刀、石头、布分别为0,1,2
而用户也输入0,1,2进行剪刀、石头、布的输入
import random
player = int(input("请输入一个0-2的数字"))
computer = random.randint(0,2)
flag = "false"
if(computer==0 and player==1):
flag = "true"
elif(computer==1 and player==2):
flag = "true"
elif(computer==2 and player==0):
flag = "true"
elif(computer == player):
flag = "draw"
if(flag=="true"):
print("玩家胜利")
elif(flag=="false"):
print("电脑胜利")
elif(flag=="draw"):
print("平局")
先是引用random的函数
简单来说就是引用random模块,然后利用random.randint()的方法在0,1,2三个数中取随机值。
同样用到random模块的题还有一道
设计一个猜单词的游戏,单词随机生成,然后乱序打乱后输出,由用户来进行拼写。
这其中会用到random中的random.choice()还有random.randrange()函数
先在一个列表中输入你想引入的单词
然后系统用random.choice()从列表中随机挑选出一个
利用While循环和randrange()的方法将原单词打乱 放入新单词中即可完成
while 1:
import random# i = 0
list_one = ["apple","pencil","bread","orange","banana","phone","pen"]
reverse = ""
choose = random.choice(list_one)
right = choose
while choose:
poistion = random.randrange(len(choose))
reverse += choose[poistion]
choose=choose[:poistion]+choose[poistion+1:]
print("单词是%s"%reverse)
while 1:
word = input("请输入你猜的单词")
if(word == right):
print("成功")
break
else:
print("失败")
answer = input("是否继续")
if(answer=="n" or answer=="N"):
print("游戏结束")
break
数学中的几何问题
x,y=map(float,input("请输入x,y点").split())
if((x**2+y**2)**0.5>10):
print("超出圆的范围")
else:
print("在圆的范围")
判断循环语句
for循环
for each for in
for in ----- 遍历容器
for 变量 in 容器:
#缩进
#循环体
for in循环主要用于遍历可迭代对象(python是一种数据类型------容器)
求:遍历1-100
range() ---------- 范围的意思 ------ 前闭后开
range(参数) ---------------表示从0开始到参数结束打印此区间所有的整数,前闭后开
range(参数1,参数2)-------------表示打印参数1到参数2区间内的整数,前闭后开
range(参数1,参数2,step)------表示打印参数1到参数2区间内的整数,数据的变化随step的变化而
变化,默认的step的值为1,前闭后开
range(10) range(10,20) range(10,20,2)
break ------- 跳出循环
continue ---------- 继续循环
这道题如果能理解意思就并不是什么难点,甚至可以说这道题简单的不能再简单了,但是我当初没有读明白题目的意思,按照自己的意思写了一大段复杂的代码,之后才理解这道题原本的意思。
对于这种题目 我的思路一般是先做出半边图,然乎再将代码复制粘贴进行改动完成另一半。
这种题是会用到循环语句的,如何用循环语句去完成。
可以先将图画出来去找里面的规律,会发现每排的空格数是总行数减去当前行数。
while 1:
number = int(input("请输入一个1到15的整数"))
if(number<1 or number>15):
print("输入错误,请重新输入")
else:
break
for i in range(1,number+1):
space_number = number-i
for j in range(0,space_number):
print(" ",end="")
count = 2*i-1
for k in range(i,0,-1):
print(k,end="")
for l in range(2,i+1):
print(l,end="")
print("")
这类循环题,都是找规律的题
for i in range(1,9):
space_number=5*(8-i)
for j in range(0,space_number):
print(" ",end="")
for k in range(0,(2*i-1)//2):
print(2**k,end="")
if(2**k<10):
print(" ",end="")
elif(100>2**k>10):
print(" ",end="")
else:
print(" ",end="")
for k in range((2*i-1)//2,-1,-1):
print(2**k,end="")
if(2**k<10):
print(" ",end="")
elif(100>2**k>10):
print(" ",end="")
else:
print(" ",end="")
print("")