Python基础练习题附带解题思路与代码
2023-12-18 16:11:53
题目1
编写一个Python程序,要求实现一个猜数字游戏,玩家有10次机会猜测一个1到100之间的随机数,如果猜对了,程序会输出“恭喜你,猜对了!”;如果猜错了,程序会提示玩家还剩下多少次机会,并输出当前猜测的数字。
思路
先引入随机数的包,定义一个变量来接收随机数,加上for循环10次在里面接收玩家输入的数字,对输入的数字进行与随机数的判断,如果错误返回玩家还剩下多少次机会与数字是大是小,如果正确返回猜对了
代码
#设置编码格式
# -*- coding: utf-8 -*-
# 引入随机数
import random
#实现一个猜数字游戏,玩家有10次机会猜测一个1到100之间的随机数,、
# 如果猜对了,程序会输出“恭喜你,猜对了!”;
# 如果猜错了,程序会提示玩家还剩下多少次机会,并输出当前猜测的数字。(4分)
def guess_number():
number = random.randint(1, 100)
for i in range(1,11):
guess = int(input("请输入一个1到100之间的数字:"))
if guess == number:
print("恭喜你,猜对了!")
return
elif guess < number:
print("你猜的数字太小了,还剩", 10 - i, "次机会")
else:
print("你猜的数字太大了,还剩", 10 - i, "次机会")
print("很遗憾,你没有猜对,正确的数字是", number)
#主函数
if __name__ == '__main__':
#调用测试函数
guess_number()
结果
题目2
编写一个Python程序,要求实现一个将一个字符串转换成回文字符串的函数,并调用该函数测试一个字符串是否为回文字符串。
思路
首先说一下什么是回文字符串
回文字符串就是一个字符串,从头读到尾和从尾读到头,字符出现的顺序是一样的。
题目要求编写一个函数,我们可以设置该函数接收一个字符串的值,把该值进行切片反转,返回一个bool值,并在主函数里显示是否为回文字符串
代码
#设置编码格式
# -*- coding: utf-8 -*-
#编写一个Python程序,要求实现一个将一个字符串转换成回文字符串的函数
#,并调用该函数测试一个字符串是否为回文字符串。
def is_palindrome(s):
#s[::-1]从字符串s的最后一个字符开始,以步长为-1逆序遍历整个字符串,返回一个反转后的新字符串。
print("回文后"+s[::-1])
return s == s[::-1]
#主函数
if __name__ == '__main__':
#测试函数
string = input("请输入一个字符串:")
if is_palindrome(string):
print("这是一个回文字符串")
else:
print("这不是一个回文字符串")
运行结果
题目3
编写一个Python程序,要求实现一个简单的计算器,可以完成加减乘除四则运算。用户可以输入一个算式,程序会计算其结果并输出。
思路
可以定义一个单独的函数,使用whlie循环让判断结果一直为true,这样就实现可以一直判断的计算器,在循环里添加一个try异常避免用户的错误输入,添加一个变量进行接收用户的输入并添加提示,使用内置函数eval()对表达式进行结果运算,可以添加一个判断 让用户在不想使用的时候进行退出 break
代码
#设置编码格式
# -*- coding: utf-8 -*-
#编写一个Python程序,要求实现一个简单的计算器,可以完成加减乘除四则运算。
# 用户可以输入一个算式,程序会计算其结果并输出。
def calculator():
while True:
try:
# 提示用户输入的格式
expression = input("请输入算式(例如:1+2):")
if expression == "exit":
break
#eval():是一个内置函数,用于执行存储在字符串中的表达式,并返回表达式的结果
result = eval(expression)
print("结果为:", result)
except Exception as e:
print("输入有误,请重新输入:")
print(str(e))
#主函数
if __name__ == '__main__':
#测试函数
calculator()
运行结果
文章来源:https://blog.csdn.net/Wtzink/article/details/135061296
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!