我在这里没有具体编码的问题,而是更多关于如何在不使用if语句的情况下生成特定变量输出的查询.
为了让它更清楚,这里是一个例子:史密斯先生正在发出5分测验,这些测验按照5-A,4-B,3-C,2-D,1-E,0-F的等级进行评分.创建一个接受测验分数(1-5)作为输入的程序,并打印出相应的等级而不使用if语句.
所以希望这让我的困境更加清晰.我正在寻找一种方法来将等级(AF)与相应的测验分数(1-5)相关联,而不使用if语句.我仍然是相当新的python,你可以称我为一个缓慢的学习者,但任何帮助表示赞赏!
只是一个简单的问题,因为我真的找不到解决我问题的简单方法.有没有办法获得一个意味着整数的用户输入,但是当输入一个字符串时,程序不会中断,而是显示"错误"
我一直试图通过将字符串转换为整数来解决它,反之亦然,但我经常得到"无效的文字对于int()与基础10"错误,或者当它显示"错误"时它在无限循环中这样做.
这是我的代码,只是为了帮助澄清问题
choice = input("Enter your choice: ")
while choice != 3:
if choice == 1:
get_songs()
print
main()
elif choice == 2:
read_songs()
print
main()
else:
print "Invalid choice"
Run Code Online (Sandbox Code Playgroud)
所以基本上我希望else操作适用于字符串以及大于3或小于1的整数.
我遇到了我的类文件的问题,我似乎无法找到解决方法.我希望有人能指出我正确的方向.
这是我的代码:
class Car:
def __init__(self, year_model, make, speed):
self.__year_model = year_model
self.__make = make
self.__speed = 0
def set_year_model(self, year_model):
self.__year_model = year_model
def set_make(self, make):
self.__make = make
def get_year_model(self):
return self.__year_model
def get_make(self):
return self.__make
def accelerate(self):
self.__speed + 5
return self.__speed
def decelerate(self):
self.__speed - 5
return self.__speed
def get_speed(self):
return self.__speed
Run Code Online (Sandbox Code Playgroud)
本质上,我希望将speed属性设置为0,并且有3个方法(加速,减速和get_speed),它们对speed属性进行加减5并最终返回speed属性,以便打印.
我猜我的格式有问题,但我似乎无法找到能够解决这个问题的正确安排.
真正的程序假设循环加速方法5次,但类方法应该处理顺序加法并返回最终速度.
import car
user_year = 1995
user_make = "toyota"
user_speed = 0
user_car = car.Car(user_year, user_make, user_speed)
for count in range(1,6):
user_car.accelerate() …
Run Code Online (Sandbox Code Playgroud)