0

我刚开始在学校学习python,我不好,但我会尽力解释。我有一个程序,我希望该程序接受仅包含整数的小数。我不知道怎么做。你能帮我改进我的代码吗?对不起我的英语..代码的一部分是瑞典语,但我认为你可以理解。如果你不只是问我!最好的问候杰斯珀

a = int(input("Skriv ett heltal (ej decimaltal): "))        
b = int(input("Skriv ett till heltal (ej decimaltal): ")) 
print()
print('Kvadrattabell')
print('=============')                      
print('Tal\tKvadrat') 

for i in range(a, b+1):
print("{0}\t{1}".format(i,i*i))

def funktion():
    a = int(input("Skriv ett heltal: "))         
    b = int(input("Skriv ett till heltal: ")) 
for i in range(a, b+1):                      
    print("{0}\t{1}".format(i,i*i))  
while True: 
    svar = input('Vill du köra programmet igen? (J/N) ') 
    if svar == 'J' or svar == 'j'or svar == "Jajemensan" or svar == "Ja" or svar == "Ja! Gör det": 
    funktion() 
if svar == 'N' or svar == 'n' or svar == 'Nej' or svar == "Nejtack" or svar == "Det räcker för idag!": 
    break
print('Ok då. Tack för idag!') 
4

2 回答 2

1

首先,整数不能包含小数。如果你想有小数,你必须使用浮点类型!

使用float()功能:

a = float(input("Skriv ett heltal (ej decimaltal): "))        
b = float(input("Skriv ett till heltal (ej decimaltal): "))

在你的funktion功能中:

def funktion:
    a = float(input("Skriv ett heltal: "))         
    b = float(input("Skriv ett till heltal: "))

您可以在此处阅读有关类型的更多信息 此外,关于您的条件,您可以通过将其放入列表来使其变得简单:

ja = ['j', 'jajemensan', 'ja' 'ja! gör det']
#lower it, and check if it's between the valid inputs:
if svar.lower() in ja:
    #do something

希望这可以帮助!如果您需要更多帮助,尽管问我 :)

于 2013-10-24T16:49:29.813 回答
1

您可以在您希望在代码中接受输入的每个地方用 float 替换 int:-

 a = float(input("Skriv ett heltal (ej decimaltal): ")) 
 b = float(input("Enter another no: ")) 

其他地方也一样。这是因为,整数不能接受小数。有关内置类型的更多信息,您可以查看以下链接 http://www.tutorialspoint.com/python/python_variable_types.htmhttp://docs.python.org/2/library/stdtypes.html

于 2013-10-24T16:49:36.253 回答